英特尔 64 位,奇怪的 RSP 行为
Intel 64 bits, strange RSP behavior
我在 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
.
我在 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
.