首页
社区
课程
招聘
[旧帖] [求助]小弟遇困难,还请各位给想想办法! 0.00雪花
发表于: 2011-8-18 05:39 1457

[旧帖] [求助]小弟遇困难,还请各位给想想办法! 0.00雪花

2011-8-18 05:39
1457
原本是想hook一个外部程序的API函数,但是发现他的程序本身就HOOK了这个函数,我用的是JMP跳转法HOOK API,之前用IAT HOOK没有效果!举个例子吧!
我想hook某个程序的messagebox函数
但是这个程序可能自己先hook了messagebox函数,我用XueTr查看后发现他的确有2个钩子
如果我再hook时就会被发现,他会提示“发现messagebox函数被拦截”

我自己觉得是这个程序保存了messagebox 的原地址,然后每次调用API前比较了原来地址和现在获取地址是否相同,如果地址发生变化了,说明被HOOK了
也许可能是GetProcAddress函数被HOOK了

希望各位帅哥美女大哥大姐大妈大妹子都给出出主意,或者能不能比他先下手?在他hook掉messagebox之前,我先hook呢?

我追加一个问题,如果我在某程序启动之前先hook了messagebox函数,在等那个程序启动后会不会有效?,我意思是每个不同的程序,获得同一个API的原地址是否相同呢?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 793
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你HOOK他的源头去,看看MESSAGEBOX在内核里是那个函数 HOOK掉
2011-8-18 09:08
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有没有别的办法呢?我看过ssdt hook 和 inline hook ,但是我有点看不懂,有没有其他办法呢?应用层方面!
2011-8-18 16:21
0
雪    币: 128
活跃值: (27)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
他可能检测了api地址的代码了,要不你也检测一下,比如msgbox是不是已经被hook了,顺着jmp找到他的函数,hook他jmp后的函数
2011-8-18 18:26
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢楼上仁兄的帮助,我试试看,不过小弟对汇编不是很懂,只懂一点皮毛,但是我要怎么才能检查他的hook函数呢?不知道怎么才能跟踪到他的替换函数!还请楼上的指教
2011-8-18 19:24
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
刚才突然来了灵感,如果我是那个程序员,我要HOOK前,必须先要有个HOOK的目标,也就是说必须要使用OpenProcess函数获得目标句柄,结果发现的确能HOOK到!继续努力,有进展了给大家报个信!
2011-8-18 20:25
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
貌似hook了OpenProcess后自己的hook也无效了,不知道怎么过滤才好呢?他也是hook了自己的进程,怎么才能让我的OpenProcess正常执行,他的不放呢?挺纠结!
2011-8-18 20:55
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
菜鸟路过,初学汇编,学习学习。。。
2011-8-18 21:30
0
游客
登录 | 注册 方可回帖
返回
//