首页
社区
课程
招聘
[求助]对HOOK的另一种实现
发表于: 2009-3-4 21:05 7634

[求助]对HOOK的另一种实现

2009-3-4 21:05
7634

在看雪了里,学到了不少大牛HOOK的技术,这里就不一一的感谢了。不过终究还是离不开这种模式:修改原函数头+N个字节处,实现跳转到自己A函数,在自己的A函数里加一些特别功能,再执行原函数被修改的代码,再跳到原修改处的下一句代码。

     我就想(我是菜鸟),既然到跳的A函数了,能不能永远不跳回原代码,就让它在A函数里直接就行,返回了事,这样可以,清除所有的其它 内联HOOK。

     思路:从源文件中,找到导出函数地址,把这个地址反汇编到自己的空间里的A函数里,修改源函数,使之跳转到A函数里。和以前不同的是不跳转回源函数。

     我在R0做了一试实验.代码如下:


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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (9)
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我是来抢沙发的
2009-3-4 21:08
0
雪    币: 215
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
应该需要什么重定位吧,如果把整个干净的内核复制一份,不知道有没有用
2009-3-4 21:24
0
雪    币: 991
活跃值: (195)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个,是通过附件里的反汇编引擎,反汇编后复制的,对反汇编引擎作了些短跳转的修改,有兴趣的朋友可以看看,并不是
把整个干净的内核复制一份
2009-3-4 21:29
0
雪    币: 30
活跃值: (765)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
我是来下楼主的代码的
2009-3-4 23:45
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
改他的入口进你的函数?不跑回去怎么执行他的过程?
2009-3-5 17:34
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
7
据说ICESWORD就是这么做的
2009-3-5 17:45
0
雪    币: 189
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我测试过了。这种思路没有问题,问题出现在反汇编上面。我看了下反汇编引擎,这个反汇编没有对了0F80-0F8F\EB\E3指令,进行正确的处理。
2009-3-11 21:25
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
9
内核里面的函数不一定是地址线性增长的
2009-3-11 21:52
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
10
不跑回去执行当然是可以的,只是那样搞就需要多做些工作,比如重定位,麻烦了一点,所以大家都偷懒不用啦~
2009-3-12 15:01
0
游客
登录 | 注册 方可回帖
返回
//