手动脱UPX 壳实战
2015-07-09 10:58
197 查看
作者:Fly2015
Windows平台的加壳软件还是比较多的,因此有很多人对于PC软件的脱壳乐此不彼,本人菜鸟一枚,也学习一下PC的脱壳。要对软件进行脱壳,首先第一步就是 查壳,然后才是 脱壳。
推荐比较好的查壳软件:
PE Detective 、Exeinfo PE、DIE工具。
需要脱壳的程序是吾爱破解论坛的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表的修复:
被加壳程序的真实的OEP的RVA地址为1DDAC,这里IAT表的重建选择方式1,根据实际情况选择IAT表的修复方式。
Ok。用查壳程序,对脱壳程序进行查壳,结果如下:
运行一下刚才被脱壳的程序,证明脱壳成功!
UPX脱壳分析文档和完美脱壳后的程序下载地址;http://download.csdn.net/detail/qq1084283172/8883081
Windows平台的加壳软件还是比较多的,因此有很多人对于PC软件的脱壳乐此不彼,本人菜鸟一枚,也学习一下PC的脱壳。要对软件进行脱壳,首先第一步就是 查壳,然后才是 脱壳。
推荐比较好的查壳软件:
PE Detective 、Exeinfo PE、DIE工具。
需要脱壳的程序是吾爱破解论坛的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表的修复:
被加壳程序的真实的OEP的RVA地址为1DDAC,这里IAT表的重建选择方式1,根据实际情况选择IAT表的修复方式。
Ok。用查壳程序,对脱壳程序进行查壳,结果如下:
运行一下刚才被脱壳的程序,证明脱壳成功!
UPX脱壳分析文档和完美脱壳后的程序下载地址;http://download.csdn.net/detail/qq1084283172/8883081
相关文章推荐
- 吐槽
- ajax异步传送数据的方法
- MVC系统过滤器、自定义过滤器
- tomcat启动Flash退出错误不能被视为解决该错误信息
- Python-PyQt4学习资料汇总
- Linux下合并前缀相同的文件的程序流程及其C代码实现
- UML类图关系表示
- 获取屏幕宽高,和dp,px,sp的转化工具类
- 影响进程未调度的一些资料
- 【数据结构】复杂表达式的求值
- elasticsearch的集群配置更新和索引配置更新
- Oracle 中count(1) 和count(*) 的区别
- iOS 动态画圆圈
- java实现中文汉字的首字母排序
- drupal 开发简单网站流程
- cocos2d-x路~使得第一个字游戏(一个)
- Java IO 和 NIO
- thinphp原生异步分页
- TFS安装与管理
- python数据结构学习笔记(五)