首页
社区
课程
招聘
Hook API lib (含源码)
发表于: 2005-8-11 03:45 42776

Hook API lib (含源码)

2005-8-11 03:45
42776
收藏
免费 7
支持
分享
最新回复 (42)
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢,讲具体点好吗?
2005-8-11 08:34
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
实现这样的功能很简单,但是很少见到这样的代码库
2005-8-11 09:14
0
雪    币: 1223
活跃值: (469)
能力值: (RANK:460 )
在线值:
发帖
回帖
粉丝
4
不错!
2005-8-11 11:03
0
雪    币: 228
活跃值: (85)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
较详细的说明(图解)在文章的 Delphi.KTop 有..

HookAPI lib 的确不难
不过我花了快一星期在上面 QQ

另外有专业级的 madCodeHook 的 API Hook Lib
http://www.madshi.net/

for Delphi/BCB/VC
个人使用免费,商业使用要钱
2005-8-11 15:10
0
雪    币: 342
活跃值: (323)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
6
支持...
2005-8-11 16:37
0
雪    币: 211
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
V lI Thx
2005-8-11 16:43
0
雪    币: 212
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
好,学习中
2005-8-11 17:35
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
9
支持,并学习
2005-8-11 17:50
0
雪    币: 236
活跃值: (74)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
在win2k3下无法2次hook
示例就只能弹出一个对话框
2005-8-17 16:34
0
雪    币: 228
活跃值: (85)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
因为 2 次 hook 同一个 API, 所以一个对话框是正常的
因为当呼叫 MessageBoxA 后,会先到 callback2。callback2 呼叫 origApi2 时,则到 callback1,callback1 呼叫 origApi1 时,才回到原本的 MessageBoxA..


callback2 取代原 MessageBoxA 的 TEXT
callback1 取代原 MessageBoxA 的 Title
2005-8-17 21:36
0
雪    币: 199
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不能跨进程。。感觉没啥用
2005-8-18 21:38
0
雪    币: 228
活跃值: (85)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
13
这是可以应用的
配合 SetWindowsHookEx 就可以作跨进程的 API Hook

这个 lib 只单纯 Hook 一个 process 中的 dll function
配合 Windows Hook 就可以写一个 DLL inject 到任一个 process 了.

欢迎提供更方便的全局 API Hook 方式
2005-8-19 00:07
0
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
14
2005-8-19 17:52
0
雪    币: 236
活跃值: (74)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
最初由 Skyer 发布
因为 2 次 hook 同一个 API, 所以一个对话框是正常的
因为当呼叫 MessageBoxA 后,会先到 callback2。callback2 呼叫 origApi2 时,则到 callback1,callback1 呼叫 origApi1 时,才回到原本的 MessageBoxA..


callback2 取代原 MessageBoxA 的 TEXT
........

明白了,是自己没看清
另外问一下,包中带的 Catchy32.asm 是不是可以用来反汇编?
2005-8-20 09:03
0
雪    币: 228
活跃值: (85)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
16
那个 Catchy32.asm 是 Length Disassembler Engine 32bit
只能算每个 instuction 长度而以,没办法反汇编的
像 (call xxxxxxxx [E8 xx xx xx xx] 经 Catchy32 就是 5)

反汇编代码的话,本版或 OllyDBG 都有提供
2005-8-20 11:05
0
雪    币: 234
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
很是不错!
2005-9-8 16:49
0
雪    币: 538
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
保存..研究
2005-9-26 22:31
0
雪    币: 216
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
19
good,谢谢分享
2005-10-22 23:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
不论何时,apihook,shellcode,都是经典技术,都是值得我们为其发疯,狂热
追求的目标, 同志们,希望大家早日知道这一点,共同推进apihooh技术的大发展。

                              -------底层飞鹰呈上
2007-1-21 14:37
0
雪    币: 237
活跃值: (33)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
thankz!
------------------
2007-5-3 12:41
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
22
关于说明中
"注:上面等於 Delphi 的
var
oldMessageBox: Pointer;
begin
oldMessageBox = HookAPI('user32.dll', 'MessageBoxA', @myMessageBox);"

问个不明白的地方.
我若是在myMessageBox函数中,再次调用MessageBoxA的,是否就成死循环了?
2007-5-8 10:17
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
好东西不能下沉,顶一下~
2007-5-8 13:35
0
雪    币: 228
活跃值: (85)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
24
陈年老帖被翻上来了

对.. 会变成死循环
2007-5-8 15:08
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
在钩子卸载的时候怎么老是内存读错误~,郁闷~调不出来,老兄你这个东西怎么弄的??给个提示~
2007-5-8 20:56
0
游客
登录 | 注册 方可回帖
返回
//