在我关注的特定版本的攻击实验室中,我的农场中有各种代码,如下所示:
0000000000401a4c <getval_440>:
401a4c: b8 48 89 c7 c3 mov $0xc3c78948,%eax
401a51: c3 retq
在在线演练中,我已经看到例如,如果第 0x401a50 字节为 90,则表示 NOP,因此我可以直接假设从字节 401a4d 开始的操作正在执行movq %rax, %rdi
,因此我们可以从该字节开始作为我们的“小工具”。但是,如果 c3 出现在 90 的位置,就像上面的代码一样,这意味着什么?我拥有的唯一其他信息是返回指令由单个 c3 编码。那么,我可以假设最后的 c3 编码返回指令吗?