脱壳-UPX

首先需要准备一个新鲜的upx壳还有exeinfo和OD。

exeinfo看是什么壳,可以看到这是一个upx的壳。
脱壳-UPX

然后放到OD里面

一、单步跟踪
脱壳-UPX
按F8,或者反汇编区上面的下箭头进行单步调试
脱壳-UPX
看到十六进制区域出现红色的箭头,说明出现跳转,按F8,直接跳转到箭头指向处,继续单步调试
脱壳-UPX
出现上箭头,我们不让他跳回,选择(005790AB)地址按F4(右键,断点,运行到指定位置),运行到指定位置,然后接着往下走
脱壳-UPX
继续 ,遇到向上的下断点,然后运行到下一个位置。遇到call,运行下一个。直到看到出栈popad
脱壳-UPX
再看下面,有一个很大跨度的跳转地址从5791EF->47738C,跨度很大一般就是到了oep,我们继续单步
脱壳-UPX
找到了oep,进行脱壳
脱壳-UPX
用OD脱壳调试进程,有两种方式。

二、ESP定律
ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。

三、二次内存镜像法