gpt4 book ai didi

assembly - 在 x64 中调用绝对地址

转载 作者:行者123 更新时间:2023-12-03 09:00:04 26 4
gpt4 key购买 nike

我无法弄清楚这一点,我可以做出这样的指令并且它工作没有问题

call ffffdd80d60e4000

但是我该如何将其转换为字节呢?我查看了内存中的指令并显示了奇怪的东西,例如

0xe8 0x00 0x40 0x0e 0xd6

我唯一能识别的是 e8,它是调用操作码。有人可以解释一下其他 4 个字节是什么,以及如果我需要调用的地址是 DWORD64 值,我将如何将这样的指令转换为字节数组?我尝试过,但不能简单地复制地址的字节并在开头添加 0xe8 。抱歉,如果这可能是一个愚蠢的问题,但我搜索了书籍和网站,但找不到任何相关内容。

最佳答案

正如 Jester 所说,通常调用使用相对地址。如果您想使用绝对地址,您可以将目的地放入寄存器中,如下所示:

    48 b8 00 40 0e d6  mov rax, 0xffffdd80d60e4000
80 dd ff ff
ff d0 call rax

您还可以调用内存中的地址。例如,如果目标地址在内存中的 [rsp+8] 处,则

    ff 54 24 08        call [rsp+8]

关于assembly - 在 x64 中调用绝对地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51312138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com