能力值:
( LV12,RANK:420 )
|
-
-
2 楼
先注入一个不会退出的进程C,再将自己注入到进程B
|
能力值:
(RANK:1130 )
|
-
-
3 楼
进去后LoadLibraryA自己一次就不会退了
|
能力值:
( LV12,RANK:420 )
|
-
-
4 楼
两次LOAD就没法卸载了。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
RE::进去后LoadLibraryA自己一次就不会退了
这个试了,不行啊
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
LoadLibrary("Hook.dll");
。。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
哇。。。还可以这样用啊!!学习了!
|
能力值:
(RANK:1130 )
|
-
-
7 楼
这个肯定行。也许你的需求没描述清楚
本来他就不想卸载。。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
【问题描述】:
-----结构:
程序A,程序B,DLL
1. 程序A调用DLL中的EnHook(。。)对程序B设置HOOK。
2. DLL里有HOOK后的鼠标处理函数HookProc (。。)。
-----问题:
A退出后,鼠标处理函数HookProc (。。)就捕获不到程序B的消息,而不能进行处理。
-------------------------------------------------------------------------
楼上的不行啊。
我试了,尽管用了LoadLibrary("Hook.dll");
但程序A退出后,还是捕获不到。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
用完整路径Load
GetModuleFileName(hDll,DllName,....)
LoadLibrary(DllName)
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
也不行。我自己再慢慢研究。
谢谢各位了啊
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
本来他就不准备卸载。。。
哈哈哈哈。。。
牛牛们很幽默。。。
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
我认为就算A退出来啦。B应该还可以HOOK 住消息啊,它的这个DLL使用计数不会减到0啊,它会谢载吗
|
能力值:
( LV9,RANK:210 )
|
-
-
13 楼
内存中加载DLL!
|
能力值:
(RANK:1060 )
|
-
-
14 楼
主程序hHook的计数变为0,钩子已经不在了,Dll不卸载也挂不住新进程。
|
能力值:
( LV7,RANK:100 )
|
-
-
15 楼
在dll加载到b进程后,dll自己判断若是b进程,则调用CreateThread创建一个新的线程,该新线程再调用SetWindowsHookEx创建一个键盘钩子,回调函数还是本dll的那个,然后那个新线程调用WaitForSingleObject(GetCurrentProcess(),INFINITE)阻塞线程的结束,否则线程已结束钩子就失效了,之后关闭A进程也可已勾住b了!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
用楼上的方案成功了,特此登录来致谢。。。
|
|
|