反汇编栈对齐指令

Posted onetrainee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反汇编栈对齐指令相关的知识,希望对你有一定的参考价值。

今天在逆向时看到一个指令 "and esp, 0FFFFFFF8",则自然为 "111····1000",将末尾置位0.

考虑到应该是栈对齐,但是感觉二进制数基础不太好,有些欠缺,这不会破坏原来栈中的数据么?

我们继续来思考,这样进行的结果如何?结尾只能是8或0,如果为8则变为0.只有这一种情况能破坏栈中的结构。

但请记住:栈是从高往低,这样只会提升栈,并不会破坏原来存储的结构!

以上是关于反汇编栈对齐指令的主要内容,如果未能解决你的问题,请参考以下文章

基于arm的C++反汇编 函数的工作原理

IDA反汇编工具的使用详解

逆向工程部分

反汇编问题

反汇编基本原理与x86指令构造

基本反汇编算法