首页
社区
课程
招聘
[讨论]win64 Ring3 inline Hook如何实现啊
发表于: 2010-1-12 17:47 9368

[讨论]win64 Ring3 inline Hook如何实现啊

2010-1-12 17:47
9368
32位的Ring3 inline Hook,怎么移植到64位啊,要怎么那些改动啊?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
2
首先要Disable PageGuard~
接着要习惯性的改页属性为RWX
64上默认页属性为RX,不可写~
接着是把x86汇编的5字节hook法,改成64的~
2010-1-12 18:05
0
雪    币: 219
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你可以参考下codeplex上的EasyHook工程
2010-1-12 22:22
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
4
EasyHook貌似不能实现对真64位的hook~~
指令集都不一样了~
2010-1-13 00:20
0
雪    币: 290
活跃值: (20)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
Ring3 Hook没什么限制,基本上和x86 差不多就是跳转指令有点不一样但是e8,e9是一样的ff15,ff25等的计算方法有点不一样和e8,e9的计算方法差不多
2010-1-13 09:22
0
雪    币: 492
活跃值: (53)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
关注和学习了
2010-1-13 10:39
0
雪    币: 112
活跃值: (48)
能力值: ( LV9,RANK:320 )
在线值:
发帖
回帖
粉丝
7
patchgurd不突破也是可以的

5字节大法行不通了,,你写个length disasm看下ntdll里面函数的开头16个字节看看,,5字节根本不够

对于

mov eax,xxh
..
sysenter
这样的虽然字节少,但是16字节对齐,,也占16字节  

也就是说5字节大法应该改成16字节大法,,呼呼
2010-1-14 11:01
0
雪    币: 33
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
没有啦,是R3 inline hook ,不需要Disable PageGuard。可以实现,但是不要用jmp指令了。也可以另写汇编文件,编译进去。
2010-3-29 15:39
0
游客
登录 | 注册 方可回帖
返回
//