x64中的相对JMP

问题描述

因此,我试图对此进行澄清,并且无法解决/无法正确输入字词,以便Google为我提供正确的结果,因此我希望有人在这里能理解我。

我正在努力使x64程序集用于创建函数挂钩,我需要弄清楚相对jmp的工作原理。假设我在 0x7FFFFFF0100 处有一个函数,并且我要在 0x7FFFFFF00016 处写一个相对的jmp,这两个地址之间的差是 0xFEA(4074) 但是我还没有编写相对的jmp,所以从地址im即将写入的地址到函数的开始之间的相对差还是从我要编写的相对jmp的结束开始的相对差? ?

使用差异 0xFEA(4074)

00007FFFFFF0000C mov     [rsp+10h],rbx
00007FFFFFF00011 mov     [rsp+20h],rsi
00007FFFFFF00016 jmp     [rip+FEA]
00007FFFFFF0001C 0

使用差异 0xFE4(4068)

00007FFFFFF0000C mov     [rsp+10h],rsi
00007FFFFFF00016 jmp     [rip+FE4]
00007FFFFFF0001C 0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)