【问题标题】:Is value of ebp register always multiple of 8?ebp 寄存器的值是否总是 8 的倍数?
【发布时间】:2017-05-09 22:57:18
【问题描述】:

我是逆向工程的新手。每当我反汇编一个程序时,我总是发现ebp寄存器的值是8的倍数。

ebp 寄存器的值总是8 的倍数 还是只是我的观察?

【问题讨论】:

标签: gcc reverse-engineering disassembly


【解决方案1】:

出于性能原因,现代 x64 调用约定要求堆栈与 16 字节对齐。 https://msdn.microsoft.com/en-us/library/ms235286.aspx https://en.wikipedia.org/wiki/X86_calling_conventions

GCCs x86 调用约定也是如此。

我可以假设这与ebp 相关,而不仅仅是esp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 2012-01-11
    • 2014-02-07
    • 2018-01-14
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    相关资源
    最近更新 更多