首页
社区
课程
招聘
[原创]hook类[有码]
2010-6-21 09:40 20469

[原创]hook类[有码]

2010-6-21 09:40
20469
前两天在一项目中用了大量的hook,于是写了这个hook类,不敢独享,特发出来方便大家使用

有码的

更新了下,加上了在多线程环境中使用,另外fix了个小地方

使用方法如下:
void testTimer();

void testTimer2();

CHook::GetHookInstance()->AddHook((int)testTimer, (CHook::HookCProc)testTimer2);

testTimer();

CHook::GetHookInstance()->RemoveHook((int)testTimer);

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

上传的附件:
收藏
点赞6
打赏
分享
最新回复 (22)
雪    币: 1137
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
dreamzgj 2 2010-6-21 10:37
2
0
顶!
下载学习...
雪    币: 181
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
imbadyc 2010-6-21 10:55
3
0
求高清无码~
雪    币: 247
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ytfsse 2010-6-21 11:17
4
0
大量的HOOK,哇,正规产品可以这样弄么?
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
deppcyan 2010-6-21 17:47
5
0
微软的detours不是已经封装了吗,干嘛还要自己写
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
PEBOSS 2010-6-22 02:16
6
0
hash_map

第一见着用, 可惜添加到工程中,编译不过 (VC6)
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
GStar 2010-6-22 10:47
7
0
hash_map VC6中没有。我有个Hook类,可以将hook回调函数绑定到类的成员函数上~
雪    币: 62
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
creakerzgz 1 2010-6-22 14:01
8
0
#include <hash_map>
using namespace stdext;

也实现了hook回调函数绑定到类的成员函数上
雪    币: 141
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
SunV 2010-6-24 19:47
9
0
强大的C++功底
雪    币: 219
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wufenjack 2010-6-26 10:41
10
0
谢谢分享,下载学习!
雪    币: 517
活跃值: (84)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
triones 6 2010-6-26 11:40
11
0
采用0xE8 call做inline hook,有个致命问题,改变堆栈。
为了在inline hook code里轻易获得跳转来源,方便了这里,却引进了这个致命问题。如果覆盖的5 byte中的代码有操作堆栈,可能出现不可预料问题。
楼主可以考虑对每个hook实现针对性的inline hook code,实现起来还算简单。加油。
雪    币: 61
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
李文靖 1 2010-6-26 14:28
12
0
顶,收藏学习!
雪    币: 62
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
creakerzgz 1 2010-6-26 18:02
13
0
在进入hook例程时保存了寄存器的值出hook例程再恢复,所以没问题(浮点寄存器没处理)
雪    币: 267
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
waidao 2010-6-28 18:48
14
0
好东西,收下了
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zistzh 2010-7-1 07:49
15
0
顶LZ!
下载学习...
收藏
雪    币: 62
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
creakerzgz 1 2010-7-20 10:22
16
0
更新了下,需要的朋友可以重新下
雪    币: 383
活跃值: (115)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hldgaofeng 2010-7-20 10:45
17
0
写得不错,辛苦啦!
雪    币: 515
活跃值: (64)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
红尘岁月 2 2010-7-21 08:37
18
0
已下载,感谢
雪    币: 11
活跃值: (49)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ywqjwq 2010-7-25 02:27
19
0
可以说清楚点吗。偶不懂。小菜来的,。谢谢。。
雪    币: 2122
活跃值: (358)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
疯子 4 2010-7-28 12:27
20
0
这次可别一回复,论坛就休息了
看来小哥的大作写好了,求bin
雪    币: 178
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ddlddy 2011-7-15 09:32
21
0
有码?

让我想到了Japan!
雪    币: 302
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
suntiger 2011-7-15 11:45
22
0
砸缸,砸缸,又发飙了...
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
bug小湿弟 2020-12-1 18:58
23
0
这个能hook类成员函数吗? this指针怎么处理的?有例子吗?
游客
登录 | 注册 方可回帖
返回