文件格式:已经初始化的全局变量和局部静态变量放在.data段,未初始化放在.bss(全是0,也没必要占位置);而动态变量则在运行时在栈上分配(本身应该在代码段中);
逆向分析:很多时候需要把握好特征,比如某些壳的特点;pop和push会在什么时候出现等
在给hello.c脱壳时,在popad之后找到了一个长跳转(不一定紧挨着),如果直接跳到那里,会发现都是0,因为程序会在运行的过程中向这些区段填充代码,所以需要在jmp设置断点,运行到这里时在执行一步,就能够到达OEP了