递归火山软件开发平台

标题: 手写HOOK取寄存器64位怎么嵌套ASM [打印本页]

作者: a751557592    时间: 2023-12-29 15:17
标题: 手写HOOK取寄存器64位怎么嵌套ASM
32位可以直接asm {  
64位说是需要嵌套  直接懵逼,   想拿MESSgaeboxa   做HOOK  手写HOOK取寄存器RDX 并修改文字内容


作者: fengshangren    时间: 2023-12-29 21:37
HOOK是不需要使用asm的,直接在目标程序申请内存,写入汇编指令就行了
作者: 易入门    时间: 2023-12-30 00:07
加油
作者: 易入门    时间: 2023-12-30 00:07
fengshangren 发表于 2023-12-29 21:37
HOOK是不需要使用asm的,直接在目标程序申请内存,写入汇编指令就行了

跳到了自己的函数怎么处理寄存器?
作者: a751557592    时间: 2023-12-30 08:33
fengshangren 发表于 2023-12-29 21:37
HOOK是不需要使用asm的,直接在目标程序申请内存,写入汇编指令就行了

我用的 Detour 库 hook 的,必须得嵌入 asm 才可以取呀。
作者: fengshangren    时间: 2023-12-30 10:40
我记得detours是只能HOOK API的吧,不能对寄存器进行读写操作的,难道我记错了
作者: fengshangren    时间: 2023-12-30 10:55
易入门 发表于 2023-12-30 00:07
跳到了自己的函数怎么处理寄存器?

一般的操作是把寄存器的值当做参数专给自己的方法,方法里面改掉寄存器值后,再重新写回到esp或rsp的地址里,最后再用汇编将栈里已经修改过的寄存器值重新弹回到寄存器里,这样就能达到一个修改寄存器值的效果
作者: 793359277    时间: 2023-12-31 07:02
JMP跳到空白区手写汇编 最后跳回去




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4