a751557592 发表于 2023-12-29 15:17:25

手写HOOK取寄存器64位怎么嵌套ASM

32位可以直接asm {
64位说是需要嵌套直接懵逼,   想拿MESSgaeboxa   做HOOK手写HOOK取寄存器RDX 并修改文字内容

fengshangren 发表于 2023-12-29 21:37:16

HOOK是不需要使用asm的,直接在目标程序申请内存,写入汇编指令就行了

易入门 发表于 2023-12-30 00:07:17

加油

易入门 发表于 2023-12-30 00:07:49

fengshangren 发表于 2023-12-29 21:37
HOOK是不需要使用asm的,直接在目标程序申请内存,写入汇编指令就行了

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

a751557592 发表于 2023-12-30 08:33:57

fengshangren 发表于 2023-12-29 21:37
HOOK是不需要使用asm的,直接在目标程序申请内存,写入汇编指令就行了

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

fengshangren 发表于 2023-12-30 10:40:01

我记得detours是只能HOOK API的吧,不能对寄存器进行读写操作的,难道我记错了

fengshangren 发表于 2023-12-30 10:55:25

易入门 发表于 2023-12-30 00:07
跳到了自己的函数怎么处理寄存器?

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

793359277 发表于 2023-12-31 07:02:17

JMP跳到空白区手写汇编 最后跳回去
页: [1]
查看完整版本: 手写HOOK取寄存器64位怎么嵌套ASM