社区
进程/线程/DLL
帖子详情
全局API HOOK只能影响调用进程
kinghawk
2006-07-25 03:10:59
采用改写IAT的方法注入全局API HOOK,DLL为APIHOOK_DLL,调用程序为APIHOOK_EXE,SetWindowHookEx的第四个参数为0,DLL句柄正确。
现在的问题是,这个DLL只能HOOK到APIHOOK_EXE的进程中,并且使用正确。但是我明明使用了全局HOOK,应该是可以对系统中所有线程进行HOOK才对呀?
我在网上看到有些朋友也遇到了类似的问题,希望知道解决办法的大侠帮忙分析一下原因。非常感谢
...全文
720
12
打赏
收藏
全局API HOOK只能影响调用进程
采用改写IAT的方法注入全局API HOOK,DLL为APIHOOK_DLL,调用程序为APIHOOK_EXE,SetWindowHookEx的第四个参数为0,DLL句柄正确。 现在的问题是,这个DLL只能HOOK到APIHOOK_EXE的进程中,并且使用正确。但是我明明使用了全局HOOK,应该是可以对系统中所有线程进行HOOK才对呀? 我在网上看到有些朋友也遇到了类似的问题,希望知道解决办法的大侠帮忙分析一下原因。非常感谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
化外之民
2006-07-27
打赏
举报
回复
修改IAT的那部分必须放到回调函数里面去执行,由系统来调用。而且你还要HOOK LoadLibrary等函数才能HOOK到后面加载的模块。
kinghawk
2006-07-27
打赏
举报
回复
晕,不能增加分数么?
kinghawk
2006-07-27
打赏
举报
回复
frank_necsthz(磊磊)兄:请问,你提到的instance是指哪一个?
maijian(asmvc)雄:谢谢支持,我用Windows核心编程中的代码可以HOOK住MessageBox,用我自己的代码,只HOOK调用函数,也可以,就是无法HOOK住全局的MessageBox,奇怪。
希望大家继续提出宝贵的建议,这也是我们共同学习的依次机会,我马上再增加帖子的分数,就当作对大家回复的感谢。
frank_necsthz
2006-07-26
打赏
举报
回复
全局钩子,不要忘了,全局数据共享,即#pragma data_seg(".sharedata")
另外,instance也不要忘记设定
kinghawk
2006-07-26
打赏
举报
回复
谢谢楼上的兄弟,我也知道IAT方法Hook全局API不是对所有的API都有效,我也没准备HOOK所有的API,对于改写函数开始的四字节,用汇编指令JMP我已经实现了,我提的这个问题完全是学术上的,呵呵。
现在我用MessageBoxA(W)试验都没有成功,说明我的代码中还是有问题。网上的代码的确很多,比较并没有什么本质的区别(我并没有一行一行的比较分析,这是最后一步做法),我还是努力查找原因,如果有幸解决了,一定和大家共享……。
希望大家更踊跃的讨论。
maijian
2006-07-26
打赏
举报
回复
有一点我要跟楼主讲清楚的,就是<<Windows 2000NT核心编程>>里面讲的IAT方法Hook全局API是有问题的,不是全部的API都Hook得了,本人很早以前就试过了,至于金山之类的软件它们是用另外一种方法,改写函数开始的4个字节,JMP xxxxxxxx这样来实现的,这种方法才是最有效的
LookSail
2006-07-26
打赏
举报
回复
网上这样的代码大把,你去对比一下为什么别人 SetWindowHookEx 0 就可以
kinghawk
2006-07-26
打赏
举报
回复
我觉得肯定是在代码的什么地方出了问题,我试了试Windows核心编成上的代码,的确可以全局HOOK,比较了一下我的代码,发现两者的实现原理是一样的,只是个别函数的使用不同,努力分析中。
难道SetWindowHookEx的第4个参数为0页不能全局HOOK么?难道还有别地方需要特别注意?奇怪
DentistryDoctor
2006-07-26
打赏
举报
回复
你看钩子的相关代码了。
maijian
2006-07-26
打赏
举报
回复
楼主,不是你代码的问题,MessageBox不是肯定可以Hook到的,我以前用IAT的方法就是这样了,在MFC里面也Hook不到AfxMessageBox,虽然AfxMessageBox最终还是调用MessageBox,但就是Hook不到,用VB也差不多,其实不是楼主你的代码有问题,而是IAT这种方法的问题而已
healer_kx
2006-07-25
打赏
举报
回复
词霸为啥能hook每个程序呢/?还不是临时hook的.
healer_kx
2006-07-25
打赏
举报
回复
那你只能该系统的dll了。。。
API
HOOK
全局
钩子, 防止
进程
被杀
在标题“
API
HOOK
全局
钩子,防止
进程
被杀”中,重点在于如何利用
API
Hook
来实现
进程
保护,避免
进程
被控制台或者其他手段终止。
全局
钩子是
API
Hook
的一种形式,它在整个系统范围内生效,而非仅限于一个线程或
进程
。 ...
vb6无dll实现
全局
hook
任意
进程
任意
API
标题中的“vb6无dll实现
全局
hook
任意
进程
任意
API
”是指使用Visual Basic 6(VB6)编程语言,不依赖外部动态链接库(DLL)来实现一个
全局
钩子(
hook
),以便监控并拦截指定
进程
中的特定
API
调用
。在Windows操作系统中...
API
_
HOOK
.rar_
api
hook
_
hook
api
_system用户
进程
_visual c
Hook
可以分为
全局
Hook
和局部
Hook
,
全局
Hook
会
影响
所有
调用
该
API
的
进程
,而局部
Hook
只
影响
设置
Hook
的
进程
。
API
Hook
实现原理: 1. **钩子函数**:首先,我们需要编写一个钩子函数,这个函数会在目标
API
被
调用
时执行...
Easy
Hook
远程
进程
注入并
hook
api
的实现
4. 设置
Hook
:在目标
进程
中执行DLL中的代码,设置
API
Hook
,这通常通过
调用
`SetWindows
Hook
Ex`函数实现。 5. 处理
Hook
事件:当
Hook
的
API
被
调用
时,我们的
Hook
函数会被触发,可以在此处理相关逻辑。 6. 移除
Hook
:在...
进程/线程/DLL
15,466
社区成员
49,170
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章