首页
论坛
课程
招聘
[原创]x64 ring3 inline-hook
2014-1-3 15:17 16620

[原创]x64 ring3 inline-hook

2014-1-3 15:17
16620
标 题: 【原创】x64 ring3 inline-hook
作 者: 瀚海云烟
时 间: 2014-01-03,15:40:37
链 接: http://bbs.pediy.com/showthread.php?t=183367

几个星期前,都去年了,闲着也闲着,将32位的inline-hook修改成了64位的inline-hook
      x64下的inline-hook其实跟x86下的inline-hook没啥区别,都是拷贝前几个字节,然后塞入跳转指令,最后再调用原来的函数返回。
      原理一堆一堆的,看雪上各位大牛都说的很详细了,我就不细说了,我这里用的就是mov   rax,xxxx / jmp  rax 的方法跳转,碰到E8、E9、7X开头的指令就不进行hook。
// 指令机器码
BYTE TMP[COPY_CODE_LEN] = {
        0x48, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // mov rax, 0
        0xFF, 0xE0 // jmp rax
};
      具体的看代码吧。
演示代码,注入notepad.exe 中 hook CreateFile结果截图如下:


[培训] 优秀毕业生寄语:恭喜id咸鱼炒白菜拿到远超3W月薪的offer,《安卓高级研修班》火热招生!!!

上传的附件:
收藏
点赞1
打赏
分享
最新回复 (17)
雪    币: 727
活跃值: 活跃值 (60)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
Winker 活跃值 8 2014-1-3 15:51
2
0
下载留名~~mark~
雪    币: 45
活跃值: 活跃值 (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
alldoisbug 活跃值 2014-1-3 16:02
3
0
下帖留名 看看先
雪    币: 184
活跃值: 活跃值 (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
whnet 活跃值 2014-1-3 16:02
4
0
mark. 老爷留名。
雪    币: 1033
活跃值: 活跃值 (710)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
wuxiwudi 活跃值 2014-1-3 16:05
5
0
1024楼主好人
雪    币: 60
活跃值: 活跃值 (128)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
樊辉 活跃值 2014-1-3 18:01
6
0
mark
雪    币: 728
活跃值: 活跃值 (131)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
房有亮 活跃值 3 2014-1-3 20:03
7
0
下载留名~~mark~
雪    币: 37
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
linhef 活跃值 2014-1-3 20:42
8
0
新人,学习了
雪    币: 1568
活跃值: 活跃值 (677)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
pxhb 活跃值 2 2014-1-5 15:03
9
0
好东西,刚好要找这方面的资料
雪    币: 1568
活跃值: 活跃值 (677)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
pxhb 活跃值 2 2014-1-5 19:18
10
0
再次来致谢
雪    币: 184
活跃值: 活跃值 (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
whnet 活跃值 2014-1-6 09:18
11
0
Complagte 是啥意思?》
雪    币: 85
活跃值: 活跃值 (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wodexinren 活跃值 2014-1-8 20:04
12
0
下载留名,marks
雪    币: 79
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
silence刘 活跃值 2014-3-5 14:32
13
0
mark一下。。。
雪    币: 2551
活跃值: 活跃值 (959)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
安于此生 活跃值 34 2014-3-5 14:37
14
0
好东西......
雪    币: 48
活跃值: 活跃值 (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
syskeylbz 活跃值 2014-3-5 14:50
15
0
下载留名
雪    币: 487
活跃值: 活跃值 (26)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
hacklang 活跃值 1 2014-6-10 17:14
16
0
请教楼主,可以实现任意位置inline hook么?看了好几款x64 上的inline hook都是不能有分支指令,检测到就不hook了..
雪    币: 409
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
coody 活跃值 2014-6-11 15:46
17
0
留个名?
雪    币: 30
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
booyd 活跃值 2014-7-4 03:40
18
0
正需要,楼主好人
游客
登录 | 注册 方可回帖
返回