首页
社区
课程
招聘
[旧帖] [求助]DLL Hook 自身的问题 0.00雪花
2007-11-28 20:28 4905

[旧帖] [求助]DLL Hook 自身的问题 0.00雪花

2007-11-28 20:28
4905
    有一个 A.dll, 其中有一函数 InstallHook(), 其作用是调用 SetWindowsHookEx() 来安装一个全局钩子, InstallHook() 函数在 A.dll 的 DllMain 入口中被调用, 使它在被加载时就执行. 使用另一个程序将其注入一个远程线程, 然后这个程序退出.
    问题是这样不起作用, 调试时 SetWindowsHookEx() 函数返回正确, 没有错误.
如果在其它程序中运行导出的 InstallHook() 函数, 可以正确的安装钩子, 钩子也达到预期的效果.可是如果这个程序退出, 钩子也会被释放.
    我想达到这样一种效果:
    使用远程注入技术将 A.dll 注入一个进程, 在这个远程进程中安装一个全局钩子, 然后注入者退出, 而钩子继续发挥作用.
    请问应该怎样做?

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (7)
雪    币: 213
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
莫程桂NP 1 2007-11-28 22:07
2
0
不太理解,能不能不用钩子,在A.dll中加个计时器,把A.dll挂上目标程序后,注入者就可以退出了,A.dll可以在计时循环中起作用.
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
laxnrj 2007-11-29 08:03
3
0
如果不用全局钩子, 你无法获取所有进程的特定事件, 只能取得被注入进程的事件.
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiaolz 2007-11-29 11:44
4
0
把 a.dll 注入到关键进程中,如 explorer.exe 中,explorer.exe 总不会随便退出吧。
如果你只是注入 到记事本这样的进程中,把记事本关了,当然也就无效了。不知是不是我理解的意思。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
microcosm 2007-11-29 11:45
5
0
搞木马?
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
laxnrj 2007-11-29 19:42
6
0
我说的关闭注入者进程指的是运行注入程序的进程, 而不是被注入的进程, 如果注入者进程退出, 不管钩子注入哪个进程, 都会退出, 各位是不是遇到这个情况.
雪    币: 213
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
莫程桂NP 1 2007-11-29 19:54
7
0
你试试在A.dll开个线程再向目标程序下钩
雪    币: 219
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kkyyff 2007-12-16 02:38
8
0
遇到同样的问题..开线程再下沟依然不行..
游客
登录 | 注册 方可回帖
返回