0x01 准备
OD
UPX加壳程序
可以加壳的软件
0x02 给软件加壳
我找了半天发现winhex不错,而且是没壳的可以直接加壳
1.复制一份可执行文件
将赋值好的文件用UPX3.91加壳
0x02 脱壳
查一下壳
OD载入,查看入口点
单步调试,到如图的这一步,不能向下跟,因为下面call的函数是ExitProcess(一般程序到快结束的时候会调用这个API)说明程序要跑飞了
之后研究一下这个跳转这个是个类似循环,在A1和BE之间跳转,在跳转里面还有两个跳转,一个是在A6,一个是在B7,je会跳转到84,而B7会跳转到C0,可能程序正在解压。C0是刚才说了程序会跑飞,这个跳转先别管,看一下A6这个跳转
这个跳转跳到84,84下面有个为实现的跳转,会跳到C6,跳过ExitProcess这个函数,好的,我们直接在C6下断点,之后单步执行
这个看到了popad,说明程序解压完了,之后看到一个大跳转,说明马上到OEP了
之后到达程序OEP
之后使用od自带的插件脱壳
最后查壳运行
0x04 总结
加密壳脱法比较简单一般是push开始,popad结束,可以使用查询popad,esp定律法等等来脱壳。