首页 > 解决方案 > 字节 58 之后的字节 90 是否会影响它,以至于它不能被解释为命令 popq %rax?

问题描述

ROP attack最近在做作业。

现在我找到了一个 garget ,它有一个代表addval_219的字节。我的想法是当小工具使用 popq 指令时,它会从堆栈中弹出我的数据。58popq %rax

使用时objdump。我有反汇编代码addval_219

00000000004019a7 <addval_219>:
  4019a7:   8d 87 51 73 58 90       lea    -0x6fa78caf(%rdi),%eax
  4019ad:   c3                      retq

当我设置addval_219 0x4019ab. 执行代码时,我有一些问题。

  1. 90现在将翻译成什么指令字节?
  2. 一个90 接一个字节58会影响它,以至于它不能被解释为命令popq %rax吗?
  3. 如果 byte90换成另外一个 byte,我还能直接跳转到 byte 所在的地址58吗?

标签: assemblyx86-64disassemblymachine-code

解决方案


推荐阅读