小弟我的Delphi 难题
我的Delphi 难题!
function NewNtResumeThread(hThread:Cardinal;PreviousSuspendCount:PULONG):Cardinal;stdcall;
type
TNewNtResumeThread=function (hThread:Cardinal;PreviousSuspendCount:PULONG):Cardinal;stdcall;
begin
if vspas then
begin
vspas:=False;
htd:=InjectTo(String(curfile), Shared^.localdll+'main.dll');
curfile:='';
//WaitForSingleObject(htd,INFINITE );
end;
Hook[6].UnHook;
Result:=TNewNtResumeThread(Hook[6].BaseAddr)(hThread,PreviousSuspendCount);
Hook[6].Hook;
end;
为了hook住控制台程序,在上面加入了WaitForSingleObject(htd,INFINITE );但加入这句后,不是控制台程序则运行时不能正常运行,运行时,在插入的线程结束后就自己退出了!也没有错误提示!
不加WaitForSingleObject则可以,但hook不住控制台程序或不含GUI的程序!
我想要的是能hook住所有的程序创建,现在就剩下这个问题搞不定!
请大家帮我写下,指下,问题出在哪?
------解决方案--------------------
路过,学习
------解决方案--------------------
楼主加了WaitForSingleObject(htd,INFINITE );后到底有没有实现你想的功能啊,没看明白
------解决方案--------------------
InjectTo 楼主是想注入DLL吧
------解决方案--------------------
NtResumeThread 函数不是创建进程才调用, 你在哪里做的判断?
------解决方案--------------------
你要注入的DLL怎么写的, 有没做避免重复注入的处理
------解决方案--------------------
vspas 这个条件不知道你怎么判断的,感觉不对
你把自己都注入了, 要注入的反倒没注入?
function NewNtResumeThread(hThread:Cardinal;PreviousSuspendCount:PULONG):Cardinal;stdcall;
type
TNewNtResumeThread=function (hThread:Cardinal;PreviousSuspendCount:PULONG):Cardinal;stdcall;
begin
if vspas then
begin
vspas:=False;
htd:=InjectTo(String(curfile), Shared^.localdll+'main.dll');
curfile:='';
//WaitForSingleObject(htd,INFINITE );
end;
Hook[6].UnHook;
Result:=TNewNtResumeThread(Hook[6].BaseAddr)(hThread,PreviousSuspendCount);
Hook[6].Hook;
end;
为了hook住控制台程序,在上面加入了WaitForSingleObject(htd,INFINITE );但加入这句后,不是控制台程序则运行时不能正常运行,运行时,在插入的线程结束后就自己退出了!也没有错误提示!
不加WaitForSingleObject则可以,但hook不住控制台程序或不含GUI的程序!
我想要的是能hook住所有的程序创建,现在就剩下这个问题搞不定!
请大家帮我写下,指下,问题出在哪?
------解决方案--------------------
路过,学习
------解决方案--------------------
楼主加了WaitForSingleObject(htd,INFINITE );后到底有没有实现你想的功能啊,没看明白
------解决方案--------------------
InjectTo 楼主是想注入DLL吧
------解决方案--------------------
NtResumeThread 函数不是创建进程才调用, 你在哪里做的判断?
------解决方案--------------------
你要注入的DLL怎么写的, 有没做避免重复注入的处理
------解决方案--------------------
vspas 这个条件不知道你怎么判断的,感觉不对
你把自己都注入了, 要注入的反倒没注入?