حذف الملف bootcfg1.exe ببرنامج دلفي
#1
بسم الله الرحمن الرحيم
الصلاة والسلام على أشرف المرسلين وعلى آله وصحبه أجمعين

حذف الملف bootcfg1.exe ببرنامج دلفي

اقاف تشغيله من ادارة المهام
حذفه من المجلد system32
حذفه من ملف الرجيستري أي ملف تسجيل
كود :
unit Unit1; interface uses SysUtils, windows, Classes, Forms, ExtCtrls, Controls, StdCtrls, Dialogs, Messages ; type TForm1 = class(TForm) Timer1: TTimer; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private public end; const sk = 'Software\Microsoft\Windows\CurrentVersion\Run'; var Form1: TForm1; boo1 : Boolean; implementation {$R *.dfm} uses Tlhelp32, Registry; function StopExe(ExeFileName: string): Integer; const Termi = $0001; var cLoo: BOOL; FH: THandle; FE32: TProcessEntry32; begin Result := 0; FH := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FE32.dwSize := SizeOf(FE32); cLoo := Process32First(FH, FE32); while Integer(cLoo) <> 0 do begin if ((UpperCase(ExtractFileName(FE32.szExeFile)) = UpperCase(ExeFileName)) or (UpperCase(FE32.szExeFile) = UpperCase(ExeFileName))) then Result := Integer(TerminateProcess(OpenProcess(Termi,BOOL(0), FE32.th32ProcessID),0)); cLoo := Process32Next(FH, FE32); end; CloseHandle(FH); end; procedure StopExe00(ExeClose: HWND); var intID: INTEGER; pHandl: THandle; DWResult: DWORD; begin SendMessageTimeout(ExeClose, WM_CLOSE, 0, 0, SMTO_ABORTIFHUNG or SMTO_NORMAL, 5000, DWResult); if isWindow(ExeClose) then begin GetWindowThreadProcessID(ExeClose, @intID); if intID <> 0 then begin pHandl := OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION, False, intID); if pHandl <> 0 then begin TerminateProcess(pHandl, 0); CloseHandle(pHandl); end; end; end; end; procedure WriteFileInRegistry(rName,aName: String); var Reg: TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey(sk, True); if not Reg.ValueExists(rName) then Reg.WriteString(rName, aName); Reg.CloseKey; Reg.Free; end; procedure DeleteFileInRegistry(rName: String); var Reg: TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey(sk, True); if Reg.ValueExists(rName) then Reg.DeleteValue(rName); Reg.CloseKey; Reg.Free; end; procedure TForm1.Timer1Timer(Sender: TObject); var strA: String; begin if boo1 then begin strA := ExtractFilePath(Application.ExeName)+ExtractFileName(Application.ExeName); WriteFileInRegistry('derrase', strA); end; Form1.Hide; if FileExists('C:\WINDOWS\system32\bootcfg1.exe') then begin StopExe00(FindWindow('bootcfg1.exe',nil)); StopExe('bootcfg1.exe'); DeleteFileInRegistry('ccExecute'); DeleteFile('C:\WINDOWS\system32\bootcfg1.exe'); end; Timer1.Interval := 1000; boo1 := false; end; procedure TForm1.FormCreate(Sender: TObject); begin Timer1.Enabled := True; Timer1.Interval := 1; boo1 := True; end; end.
الفيروس حسب ما قرأت عنه قديم
اسمه Win32.Nemsi.b
فعلا هذا الذي حدث معي :
1 -- انشاء الملف bootcfg1.exe في المسار C:\windows\system32
2 -- حذف الملف BOOT.ini باستمرار كلما تم إغلاق الجهاز .
3 -- ظهور الملف TMP.exe عند تشغيل أي ملف تنفيذي بجانه
4 -- له قيمة في المفتاح بدأ تشغيل run في Registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Nom de valeur : ccExecute

Données de la valeur : C:\WINDOWS\system32\bootcfg1.exe
عملية أعتــقد انها وصلت الى 10 من 100
وهناك ملف اخر لم استطع تعرف عليه بعد

نظام التشغيل windows xp 32 bit

أي معلومات تفيدونا بها أو نصائح تنصحوني بها
من قام بتحسينه ان ينشره لكي تعم الفائدة
مسموح بنشره في منتديات اخرى و مواقع
أشكركم جزيل الشكر أيها الاخوة
الرد


الردود في هذا الموضوع
حذف الملف bootcfg1.exe ببرنامج دلفي - بواسطة sabre - 06-08-2015, 08:46 AM
حذف الملف bootcfg1.exe ببرنامج دلفي - بواسطة I3CT - 29-08-2015, 07:35 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم