首页
社区
课程
招聘
[求助]一个关于API HOOK的问题,请大家解释一下我心中的疑惑?
发表于: 2008-7-12 12:03 6840

[求助]一个关于API HOOK的问题,请大家解释一下我心中的疑惑?

2008-7-12 12:03
6840
要HOOK一个API,可以修改这API的入口点的前五个字节,改成一个JMP指令,跳到我们的程序,我想问的是这样做对其他调用该API的进程有没有影响???如果没有影响,那么在ring 3下怎么HOOK 一个API能做到对所有调用该API的进程都有影响????

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
安装全局钩子
2008-7-12 12:45
0
雪    币: 200
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
2楼的兄弟能具体说一下吗??
2008-7-12 13:03
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
有影响。我记得以前看文章是谁写的忘了。他说好比门牌号。把门牌号换了,自然就找不到人了。
2008-7-12 17:23
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
2楼的在哪胡了了。顶没说一样!
2008-7-12 17:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
记得是有影响,而且由于WINDOWS是抢占式的系统,不太推荐这样做,因为搞不好就影响别的进程了
2008-7-12 18:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
SetWindowsHookEx(xxx,xxx,DLL句柄,0);
2008-7-12 21:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
没影响的

你在OD下bp api修改看看不就知道了?

同时开2个相同的程序DEBUG。。。
 

77D50702 >  90              NOP
77D50703    90              NOP
77D50704    55              PUSH    EBP
77D50705    8BEC            MOV     EBP, ESP
77D50707    833D BC14D777 0>CMP     DWORD PTR [77D714BC], 0
77D5070E    74 24           JE      SHORT 77D50734
77D50710    64:A1 18000000  MOV     EAX, DWORD PTR FS:[18]
77D50716    6A 00           PUSH    0
77D50718    FF70 24         PUSH    DWORD PTR [EAX+24]
77D5071B    68 241BD777     PUSH    77D71B24
77D50720    FF15 C412D177   CALL    DWORD PTR [<&KERNEL32.InterlockedCompareExchange>]    ; kernel32.InterlockedCompareExchange
77D50726    85C0            TEST    EAX, EAX
77D50728    75 0A           JNZ     SHORT 77D50734
77D5072A    C705 201BD777 0>MOV     DWORD PTR [77D71B20], 1
77D50734    6A 00           PUSH    0
77D50736    FF75 14         PUSH    DWORD PTR [EBP+14]
77D50739    FF75 10         PUSH    DWORD PTR [EBP+10]
77D5073C    FF75 0C         PUSH    DWORD PTR [EBP+C]
77D5073F    FF75 08         PUSH    DWORD PTR [EBP+8]
77D50742    E8 2D000000     CALL    MessageBoxExA
77D50747    5D              POP     EBP
77D50748    C2 1000         RETN    10


77D50702 >  8BFF            MOV     EDI, EDI
77D50704    55              PUSH    EBP
77D50705    8BEC            MOV     EBP, ESP
77D50707    833D BC14D777 0>CMP     DWORD PTR [77D714BC], 0
77D5070E    74 24           JE      SHORT 77D50734
77D50710    64:A1 18000000  MOV     EAX, DWORD PTR FS:[18]
77D50716    6A 00           PUSH    0
77D50718    FF70 24         PUSH    DWORD PTR [EAX+24]
77D5071B    68 241BD777     PUSH    77D71B24
77D50720    FF15 C412D177   CALL    DWORD PTR [<&KERNEL32.InterlockedCompareExchange>]   ; kernel32.InterlockedCompareExchange
77D50726    85C0            TEST    EAX, EAX
77D50728    75 0A           JNZ     SHORT 77D50734
77D5072A    C705 201BD777 0>MOV     DWORD PTR [77D71B20], 1
77D50734    6A 00           PUSH    0
77D50736    FF75 14         PUSH    DWORD PTR [EBP+14]
77D50739    FF75 10         PUSH    DWORD PTR [EBP+10]
77D5073C    FF75 0C         PUSH    DWORD PTR [EBP+C]
77D5073F    FF75 08         PUSH    DWORD PTR [EBP+8]
77D50742    E8 2D000000     CALL    MessageBoxExA
77D50747    5D              POP     EBP
77D50748    C2 1000         RETN    10
2008-7-12 21:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不知哪找来的代码。。。

上传的附件:
2008-7-12 21:37
0
雪    币: 259
活跃值: (26)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
10
好像是没影响,其实当你修改了这5个字节,那么这一块会分到新的内存去,但看上去还是在同一个地址
2008-7-12 22:09
0
雪    币: 437
活跃值: (273)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
11
安装钩子不如 枚举进程 创建远程线程   方便~~
2008-7-12 22:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
要是影响的话谁还死命的弄全局钩子,或者是远程线程``````
2008-7-12 23:32
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
13
可以看出调用的都一样!至少地址是一样的。如果一个程序被修改了,第二个肯定也得变!

与下面那个地址一样!
在下才蔬学浅,是个粗人,高手不要笑话!
2008-7-13 19:50
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
14
楼主可以去看看Copy-On-Write机制。
2008-7-13 20:03
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
15
居然重复发了。。
不好意思。。

网上也有绕过COW的文章。
2008-7-13 20:18
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
2008-7-30 21:35
0
游客
登录 | 注册 方可回帖
返回
//