首页
社区
课程
招聘
[求助]WIN7系统上关于API HOOK的问题,郁闷一天了。
发表于: 2013-12-13 22:21 19956

[求助]WIN7系统上关于API HOOK的问题,郁闷一天了。

2013-12-13 22:21
19956
在WIN7系统上,使用的是inline hook,修改函数的前五个字节来HOOK。其它程序都可以Hook住,但就是我想HOOK的那个程序使终无法跳转到我的函数中来。并且用一些工具软件也查看到DLL中前面五个字节已经改为了跳转代码了(因为该软件加壳了,所以无法用OD进行调试),但执行的时候,却始终没有执行到我的函数中来。但是那个软件也能够正常运行,就好像是那五个字节没有修改过一样。 我把软件运行在XP系统上却能够成功HOOK到。

我看到一个同类软件在WIN7系统上也能够HOOK到,但那个软件要求自身这个软件先运行,然后那个被HOOK再运行才可以。如果被HOOK的软件先运行的话,就也同样HOOK不到。

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

收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 110
活跃值: (34)
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
2
请确认你hook的位置会被执行到
2013-12-13 22:29
0
雪    币: 136
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
SSDT HOOK肯定能勾到
2013-12-13 22:31
0
雪    币: 20
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我想应该可以执行到啊。因为XP系统上是可以HOOK到的。除非是那个软件会判断现在是什么系统,是WIN7系统就执行另外的代码。

我想这种可能性较小,不过明天也可以试试。
2013-12-13 22:40
0
雪    币: 20
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我对这个不太了解。如果实在没办法了的话,我会去研究一下这个的。
2013-12-13 22:50
0
雪    币: 110
活跃值: (34)
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
6
OD在该位置下断试试
2013-12-13 22:53
0
雪    币: 20
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个软件无法调试,因为加壳了。有什么软件能够检测到执行了哪些DLL中的哪些函数吗?
2013-12-13 22:55
0
雪    币: 20
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
OD调试不了啊。加壳了。我不会脱壳。
2013-12-13 22:57
0
雪    币: 136
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
R.的钩子很容易绕过的,都过时了=.=
2013-12-13 22:58
0
雪    币: 110
活跃值: (34)
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
10
SOD啥的呢
既然你能hook,肯定能在同样的位置下断
2013-12-14 00:01
0
雪    币: 53
活跃值: (528)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
你hook了哪个函数?
有些API要区分 A版和W版
2013-12-14 03:31
0
雪    币: 20
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我hook的函数没有a版和w版。我hook的是winmm.dll中的waveInOpen函数。
2013-12-14 09:18
0
雪    币: 115
活跃值: (46)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
13
Win7的Dll有的打了IAT补丁,函数开头变成了jmp [xxx.NewFunction]
2013-12-14 09:52
0
雪    币: 2134
活跃值: (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
14
还真有可能不同系统用不一样的api,你是要获取采集的声音么,有可能在xp用waveXX,在其他win os上用Dsound,xaudio2,coreaudio等都有可能的
2013-12-14 10:26
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
能在xp(32位?)上运行,说明是32位程序?
请确认你要hook的dll的路径。32位程序在64位下运行的时候,hook的dll的位置并不是system32下的那些dll,同时注册表的位置也不一样的。
搞定了这些,32位程序在64位os下的hook,和32位os下是完全一样的。
2013-12-14 12:01
0
雪    币: 1042
活跃值: (500)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
壳是SE吧,有shadow dll . API都被模拟了
2013-12-14 12:14
0
雪    币: 20
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
我用的那个WIN7也是32位的哦。
2013-12-14 12:17
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
18
很多壳会自己做模拟的API的。要验证的话,你要再深inline hook api下一层的子函数,一般壳模拟的话,也只模拟api本身的代码,不可能把api要调用的代码都模拟了。
2013-12-16 09:37
0
雪    币: 65
活跃值: (112)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
19
怎么可能调试不到,__asm int 3难道都不执行么?
2013-12-16 10:11
0
游客
登录 | 注册 方可回帖
返回
//