首页
社区
课程
招聘
[求助]HOOK调用频繁的函数,只能先挂起所有线程再处理吗?
2015-11-11 21:30 7314

[求助]HOOK调用频繁的函数,只能先挂起所有线程再处理吗?

2015-11-11 21:30
7314
HOOK处理都没问题,就是遇到调用频繁的函数时候老崩溃.非常无奈.
求教解决思路.我想自己写,不要告诉我使用第三方HOOK库

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

收藏
点赞0
打赏
分享
最新回复 (14)
雪    币: 630
活跃值: (570)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xdlakx 2015-11-12 01:55
2
0
1.一定要hook这个函数么?不知道是否可以换个函数
2.可以中转下
雪    币: 275
活跃值: (320)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
currwin 1 2015-11-12 10:05
3
0
只能说你hook的姿势不正确,你得用线程稳定的hook
雪    币: 108
活跃值: (44)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bakurise 2015-11-12 11:14
4
0
第三方hook库稳定强大,为何还要自己写。。。自己写的话,为何不借鉴参考下第三方hook库的方法。

比如mhook,代码量也不大,线程安全
雪    币: 70
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bagel 2015-11-12 12:05
5
0
什么叫第三方?只要人家做得好,可以用,你还要自己写?难道你是自己织布做衣服,自己造锅做饭的?难道你看书学习不是在借鉴第三方?只有用了他人的,才会慢慢懂得原理,才能自己慢慢去改进。
雪    币: 1088
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Tebox 2015-11-12 12:31
6
0
拿来主义是好用,但是用起来你知道原理吗,知道为什么这么处理吗.
我想自己写,锻炼能力.
雪    币: 7614
活跃值: (1970)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
friendanx 2015-11-12 13:07
7
0
如果楼主想要自己实现,可以参考这里:
http://www.codeproject.com/Articles/21414/Powerful-x-x-Mini-Hook-Engine
弄清楚该文章后,稳定HOOK不成问题。
雪    币: 1088
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Tebox 2015-11-12 13:58
8
0
3Q,我参考参考.刚才下了MHOOK的代码正在研究.他也是挂起是所有线程再排除EIP进行HOOK.
雪    币: 1412
活跃值: (4189)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
IamHuskar 4 2015-11-12 14:56
9
0
有一种函数 叫做原子操作函数。不知道撸主听过没有。一次HOOK八字节随便怎么搞
雪    币: 1088
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Tebox 2015-11-12 15:58
10
0
求教修改字节的原子操作函数有哪些?
雪    币: 22
活跃值: (423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
靴子 2015-11-12 19:47
11
0
关注。。
雪    币: 197
活跃值: (1339)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Unsped 2015-11-13 00:35
12
0
xchg  近跳2字节  这个可以交换4字节 最近的地方你应该能找到5个无用的字节再写一个jmp。
某xf的memcpy是可以胜任的。
雪    币: 240
活跃值: (373)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
sky科 2015-11-13 01:05
13
0
楼主现用的方法 是不是 频繁的用 HOOK 和 unHook ?
雪    币: 580
活跃值: (210)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
ghostway 1 2015-11-13 09:42
14
0
楼主等级如此高,实乃罕见啊
雪    币: 126
活跃值: (149)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
wr960204 2015-11-13 18:28
15
0
正常的HOOK一般是把函数头跳转到自己的函数,自己的函数里面调用旧函数.返回是在新函数返回的.
所以不需要频繁地修改旧函数头,不存在多线程兵法问题
游客
登录 | 注册 方可回帖
返回