我在 Windows 中使用 IDA 调试 64 位二进制文件时遇到了问题。通常,经过一段时间后pushRSP值应该扣除8。但是偶尔从IDA上看到RSP只扣除了2,然后下次Push就扣除了8。
涉及到的代码有
push rax
push rbx
push rsi
push rdi
我对 x64 环境很陌生,因此有人可以解释这种行为吗?
您可能对十六进制感到困惑。数到8就可以了
0 8 10 18 20 28 30
你是否正在看着那个并思考10 - 8 == 2
?因为它是0x10 - 0x8 == 0x8
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)