返回信息流请哪位大牛指点下如何防止重复挂钩~~急!
我写的程序是将进程的名字传给主程序,由DLL实现对其线程挂钩。但出现了出现了重复挂钩的问题。
glhInstance=SetWindowsHookEx(.....,threadid)
当glhInstance为NULL时用GetLastError放回错误的原因,结果返回了很多“183”——“cannot create a file that already exists".IceSword 显示很多相同的钩子(我的程序创建的钩子)
不知道怎么解决,请哪位大牛指点一下!
这是一条镜像帖。来源:北邮人论坛 / security / #27780同步于 2010/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖
请教关于hook的问题
shuitian
2010/4/20镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
【 在 shuitian 的大作中提到: 】
: 请哪位大牛指点下如何防止重复挂钩~~急!
: 我写的程序是将进程的名字传给主程序,由DLL实现对其线程挂钩。但出现了出现了重复挂钩的问题。
: glhInstance=SetWindowsHookEx(.....,threadid)
: ...................
能不能解释下重复挂钩是个什么情况?重复对同一个线程挂钩?
【 在 shuitian 的大作中提到: 】
: 请哪位大牛指点下如何防止重复挂钩~~急!
: 我写的程序是将进程的名字传给主程序,由DLL实现对其线程挂钩。但出现了出现了重复挂钩的问题。
: glhInstance=SetWindowsHookEx(.....,threadid)
: ...................
能不能把Icesword的截图发上来看看是个什么情况?
没明白lz的意思(贴源代码),SetWindowsHook这个函数虽然接受的参数是进程的中主线程的id,但注入的范围还是在进程,就是把你的dll映射到目标进程的地址空间,只会在dll被目标加载的时候执行dllmain,不会重复加载,如果想知道加载是否成功可以用LoadPE这样的工具查看下就OK了。
【 在 imccoder 的大作中提到: 】
: : 请哪位大牛指点下如何防止重复挂钩~~急!
: : 我写的程序是将进程的名字传给主程序,由DLL实现对其线程挂钩。但出现了出现了重复挂钩的问题。
: : glhInstance=SetWindowsHookEx(.....,threadid)
: ...................
是啊,就是重复对一个线程挂钩~