首页
社区
课程
招聘
5
[原创][讨论]关于x64平台下的R3 Hook ,windows 64 位系统 Hook
发表于: 2013-9-29 15:14 15697

[原创][讨论]关于x64平台下的R3 Hook ,windows 64 位系统 Hook

2013-9-29 15:14
15697

因为x86下的调用协议到了x64下都消失了,
vc++ x64 开发竟然取消了 内联汇编,使用汇编的话要不买inter的编译器(买不起....),另一种方法是编写 asm文件,转换成obj文件来在代码中声明,虽然可以汇编,但是变成了调用函数的形式。
哎....

有个hook函数的想法,想让大神看看如何 (望指点...错误的地方  笑纳

一个函数
proc (int a,int b,int c,int d,int e,int f)
{

}

在 _tmain 下调用此函数

proc(1,2,3,4,5,6)

汇编形式如下

1
2
3
4
5
6
7
mov [rsp+28h],6
mov [rsp+20h],5
mov r9d,4
mov r8d,3
mov edx,2
mov ecx,1
call proc
1
2
3
4
5
mov [rsp + 20h],r9d
mov [rsp + 18h],r8d
mov [rsp + 10h],rdx
mov [rsp + 08h],ecx
push rdi

[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

收藏
免费 5
支持
分享
赞赏记录
参与人
雪币
留言
时间
心游尘世外
为你点赞~
2024-5-31 06:34
QinBeast
为你点赞~
2024-5-31 06:25
飘零丶
为你点赞~
2024-4-15 01:00
shinratensei
为你点赞~
2024-3-12 00:44
PLEBFE
为你点赞~
2023-3-5 04:17
最新回复 (8)
雪    币: 74
活跃值: (928)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Mark thinks for share
2013-9-29 16:38
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
虽然觉得有几个问题,但是我更觉得楼主表达不是太清楚,希望楼主能重新阐述一下你的想法,便于让我确认是不是我误解了楼主的意思,谢谢
2013-9-29 22:53
0
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我已经想到了更好的方法了,谢谢
2013-9-30 11:47
0
雪    币: 1885
活跃值: (722)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
能不能分享一下方法,谢谢
2013-9-30 13:09
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
那是什么呢
2013-9-30 23:27
0
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
还在实践中,想法应该是没问题!和早期的库写法差不多
2013-10-1 08:49
0
雪    币: 31
活跃值: (53)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
可以用编写机器码的形式啊,比如char main[]={...};然后再强转调用呐。
2013-10-2 19:18
0
雪    币: 19
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
[QUOTE=邋遢鬼;1227291]可以用编写机器码的形式啊,比如char main[]={...};然后再强转调用呐。[/QUOTE]

x64 下  opcode 有变化,与x86 部分还是很大变化的!

并且  那玩意不适合大篇编写!
2013-10-2 21:58
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册