![]() |
|
منتدى البرمجة كل ما يتعلق بلغات البرمجة، فيجوال بيسيك , سي ++ , دلفي , أكسيس , جافا , هتمل... |
في حال وجود أي مواضيع أو ردود
مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة
( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
آخر المواضيع |
|
حذف الملف bootcfg1.exe ببرنامج دلفي
|
أدوات الموضوع | انواع عرض الموضوع |
![]() |
رقم المشاركة : 1 | ||||
|
![]() بسم الله الرحمن الرحيم كود:
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. عملية أعتــقد انها وصلت الى 10 من 100 وهناك ملف اخر لم استطع تعرف عليه بعد نظام التشغيل windows xp 32 bit أي معلومات أرجو أن تفيدونا بها ارجو من قام بتحسينه ان ينشره لكي تعم الفائدة مسموح بنشره في منتديات اخرى و مواقع .
|
||||
![]() |
الكلمات الدلالية (Tags) |
bootcfg1.exe, الملف, ببرنامج, دلفى |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc