我是逆向工程的新手。每当我反编译程序时,我总是发现ebp
寄存器的值是 8的倍数。
ebp
的值是否总是 8的多个或只是我的观察?
答案 0 :(得分:3)
出于性能原因,现代x64调用约定要求堆栈对齐到16个字节。 https://msdn.microsoft.com/en-us/library/ms235286.aspx https://en.wikipedia.org/wiki/X86_calling_conventions
GCC
的x86调用约定也是如此。
我可以认为这与ebp
相关,而不仅仅是esp
。