递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 2910|回复: 7
打印 上一主题 下一主题

[视窗] 手写HOOK取寄存器64位怎么嵌套ASM

[复制链接]

8

主题

27

帖子

215

积分

中级会员

Rank: 3Rank: 3

积分
215
QQ
跳转到指定楼层
楼主
发表于 2023-12-29 15:17:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
32位可以直接asm {  
64位说是需要嵌套  直接懵逼,   想拿MESSgaeboxa   做HOOK  手写HOOK取寄存器RDX 并修改文字内容

回复

使用道具 举报

43

主题

313

帖子

3598

积分

论坛元老

Rank: 8Rank: 8

积分
3598
沙发
发表于 2023-12-29 21:37:16 | 只看该作者
HOOK是不需要使用asm的,直接在目标程序申请内存,写入汇编指令就行了
回复

使用道具 举报

23

主题

146

帖子

1867

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1867
板凳
发表于 2023-12-30 00:07:17 | 只看该作者
加油
回复

使用道具 举报

23

主题

146

帖子

1867

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1867
地板
发表于 2023-12-30 00:07:49 | 只看该作者
fengshangren 发表于 2023-12-29 21:37
HOOK是不需要使用asm的,直接在目标程序申请内存,写入汇编指令就行了

跳到了自己的函数怎么处理寄存器?
回复

使用道具 举报

8

主题

27

帖子

215

积分

中级会员

Rank: 3Rank: 3

积分
215
QQ
5#
 楼主| 发表于 2023-12-30 08:33:57 来自手机 | 只看该作者
fengshangren 发表于 2023-12-29 21:37
HOOK是不需要使用asm的,直接在目标程序申请内存,写入汇编指令就行了

我用的 Detour 库 hook 的,必须得嵌入 asm 才可以取呀。
回复

使用道具 举报

43

主题

313

帖子

3598

积分

论坛元老

Rank: 8Rank: 8

积分
3598
6#
发表于 2023-12-30 10:40:01 | 只看该作者
我记得detours是只能HOOK API的吧,不能对寄存器进行读写操作的,难道我记错了
回复

使用道具 举报

43

主题

313

帖子

3598

积分

论坛元老

Rank: 8Rank: 8

积分
3598
7#
发表于 2023-12-30 10:55:25 | 只看该作者
易入门 发表于 2023-12-30 00:07
跳到了自己的函数怎么处理寄存器?

一般的操作是把寄存器的值当做参数专给自己的方法,方法里面改掉寄存器值后,再重新写回到esp或rsp的地址里,最后再用汇编将栈里已经修改过的寄存器值重新弹回到寄存器里,这样就能达到一个修改寄存器值的效果
回复

使用道具 举报

22

主题

286

帖子

2001

积分

金牌会员

Rank: 6Rank: 6

积分
2001
QQ
8#
发表于 2023-12-31 07:02:17 | 只看该作者
JMP跳到空白区手写汇编 最后跳回去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 22:35 , Processed in 0.089210 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表