能力值:
(RANK:10 )
|
-
-
26 楼
最初由 blowjob 发布 RoBa老大,原文在哪里啊?
我的博客主页
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
一个字:好!:)
|
能力值:
( LV13,RANK:320 )
|
-
-
28 楼
第二种再加一个explorer路径检测就可以难对付一些,用delphi描述如下:
procedure CheckParentProc;
var //检查自己的进程的父进程
Pn: TProcesseNtry32;
sHandle:THandle;
H,ExplProc,ParentProc:Hwnd;
Found:Boolean;
Buffer:array[0..1023]of Char;
Path:string;
begin
H:= 0;
ExplProc:= 0;
ParentProc:= 0;
//得到Windows的目录
SetString(Path,Buffer)
GetWindowsDirectory(Buffer,Sizeof(Buffer)- 1));
Path:= UpperCase(Path)+ '\EXPLORER.EXE';//得到Explorer的路径
//得到所有进程的列表快照
sHandle:= CreateToolHelp32Snap Shot(TH32CS_SNAPALL,0);
Found:= Process32First(sHandle,Pn);//查找进程
while Found do //遍历所有进程
begin
if Pn.szExeFile = ParamStr(0)then //自己的进程
begin
ParentProc:= Pn.th32ParentProcessID://得到父进程的进程ID
//父进程的句柄
H:= OpenProcess(PRO CESS_ALL_ACCESS,True,Pn.th32Parent ProcessID);
end
else if UpperCase(Pn.szExeFile)= Path then
ExplProc:= Pn.th32ProcessID;//Explorer的PID
Found:= Process32Next(sHandle,Pn);//查找下一个
end;
//父进程不是Explorer,是调试器……
if ParentProc <> ExplProc then
begin
TerminateProcess(H,0);//杀之!除之而后快也!
end?
end?
|
能力值:
( LV9,RANK:170 )
|
-
-
29 楼
辛苦了!
|
|
|