【发布时间】:2016-06-27 18:59:27
【问题描述】:
我在使用 IDA 在 Windows 中调试 64 位二进制文件时遇到了问题。正常情况下,一个push后RSP值应该减8。但偶尔从IDA看到,RSP只减2,下一次Push就减8。
涉及的代码是
push rax
push rbx
push rsi
push rdi
我对 x64 环境还很陌生,因此任何人都可以解释这种行为吗?
【问题讨论】:
-
不应为 2,除非代码使用 16 位推送(这是不正常的)。显示说明和前后。
-
downvted:不包括细节(例如来自调试器的实际文本转储,在特定指令上具有前后值)。
标签: assembly x86-64 callstack ida