关于进程注入以后的问题(100分)

  • 主题发起人 主题发起人 dfs
  • 开始时间 开始时间
D

dfs

Unregistered / Unconfirmed
GUEST, unregistred user!
用A.EXE把B.DLL注入到了正在运行的C.EXE。B.DLL中有个定时过程TIMMER,在A.EXE中调用TIMMER,正常,如果此时把A.EXE关掉,TIMMER不动作了。然后再把A.EXE再运行起来(此时,B.DLL还在C.EXE中),不用重新调用TIMMER,TIMMER又自己正常动作了。如果把A.EXE进程结束,则TIMMER不会运行,且重新运行A.EXE也不能使TIMMER正常动作。不知道有没有方法使我在A.EXE关闭后TIMMER能够正常动作,就算是结束A.EXE进程时,TIMMER还能够正常动作。
 
一定要程序自己的TIMER吗?
能不能HOOK系统的WM_TIMER消息。用系统的timer来激发呢?
procedure HookOn;
begin
HookHandle:=SetWindowsHookEx(WH_GETMESSAGE,@HookPro,HInstance,0);
end;
procedure HookOff;
begin
UnHookWindowsHookEx(HookHandle);
end;
function HookPro(nCode:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT;stdcall;
begin
if (PMsg(lParam).message=WM_TIMER) then
//做你要做的事情。
Result:=CallNextHookEx(HookHandle,nCode,Wparam,lParam);
end;
 
我也遇到这样的问题。注入后的定时不好做。要么主程序占用CPU太大。要么定时失效。
 
后退
顶部