手动脱UPX 壳实战

作者:Fly2015

Windows平台的加壳软件还是比较多的,因此有很多人对于PC软件的脱壳乐此不彼,本人菜鸟一枚,也学习一下PC的脱壳。要对软件进行脱壳,首先第一步就是 查壳,然后才是 脱壳。

推荐比较好的查壳软件:

PE Detective Exeinfo PEDIE工具。

 

需要脱壳的程序是吾爱破解论坛的windows逆向破解培训http://www.52pojie.cn/thread-378612-1-1.html第一课的作业题1.

 

1.对该程序(吾爱破解培训第一课作业一.exe)进行查壳

PE Detective的查壳结果:


Exeinfo PE的查壳结果:


DIE的查壳的结果:

DIE查壳有一个好处就是能从查壳的结果中得知被加壳的程序是用什么语言编写的,这个比较有用。


2.进行UPX脱壳实战

该程序载入OD以后发现有pushad指令,很显然该程序需采用ESP定律进行脱壳。


F8单步走一步,然后右键选择ESP寄存器下HW break硬件断点。


F9运行程序,该程序会在硬件断点的地方自动断下来,如图:


JMP指令的位置F2下断点,然后F9运行到该断点00457765处,地址0041DDAC处就是被加壳程序原来的OEP处。一般被加壳的程序在解壳以后都会有一个跳转,可能是JMP也可能是其他的指令。F7跟进到地址0041DDAC处,如图:


是不是很眼熟啊,VS2008等编译的程序的入口点汇编指令。下一步就可以使用OD的插件OllyDump或者(Load PE+RECImport)工具进行程序的脱壳和IAT表的修复:


被加壳程序的真实的OEPRVA地址为1DDAC,这里IAT表的重建选择方式1,根据实际情况选择IAT表的修复方式。


Ok。用查壳程序,对脱壳程序进行查壳,结果如下:



运行一下刚才被脱壳的程序,证明脱壳成功!



UPX脱壳分析文档和完美脱壳后的程序下载地址;http://download.csdn.net/detail/qq1084283172/8883081



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值