-3 assembly callstack x86-64 ida
我遇到了使用IDA在Windows中调试64位二进制文件的问题.通常情况下,推送 RSP值应该扣除8.但偶尔,从IDA我看到RSP仅扣除2,然后是下一次推送8.
涉及的代码是
push rax
push rbx
push rsi
push rdi
Run Code Online (Sandbox Code Playgroud)
我对x64环境很新,因此任何人都可以解释这种行为吗?
你可能会被十六进制混淆.按8计数
0 8 10 18 20 28 30
Run Code Online (Sandbox Code Playgroud)
你在看这个并思考10 - 8 == 2
吗?因为它0x10 - 0x8 == 0x8
.