当前位置: 首页 > article >正文

手动脱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



http://www.lryc.cn/news/2416773.html

相关文章:

  • 剖析 ADO.NET 批处理更新(深入研究数据访问)
  • 集成solr复盘
  • 分享88个ASP整站程序源码,总有一款适合您
  • form表单—2种提交方式
  • Win7系统提示找不到MSVCRTD.DLL文件的解决办法
  • MaskedTextBox
  • 缓存背后的智慧:旁路、读写穿透和写回三种策略全面解析
  • CSS——滤镜(filter )
  • 关于Loadlibrary 失败-找不到指定模块126错误
  • DAS~~
  • ThinkPHP6+Layui自定义分页样式
  • 博客搜索引擎列举|博客搜索引擎的浅比较
  • 多线程开发实战:Java实现多线程四种方式及相关方法原理
  • 端口详解及如何开起端口关闭端口
  • C语言之多线程编程
  • plsql学习笔记
  • MFC窗口之间的消息传递
  • Robot之Setting table部分
  • 从Java角度看区块链实践系列3——P2P网络:区块链P2P网络拓扑结构的演变史
  • 高并发高流量网站架构
  • 史上最简单易懂的 简析utf-8编码
  • C语言实战-贪吃蛇
  • 沟通CTBS物流行业远程接入解决方案
  • STM32CubeMX 下载安装使用(一)
  • H3C交换机配置DHCP中继
  • 编译hyperscan
  • CydiaSubstrate的简单使用
  • 探索MS17-010漏洞利用工具:All-In-One全方位解析
  • mysql用decimal_MySQL数据类型DECIMAL用法详解
  • MySQL - 存储过程 [Stored Procedure] - 学习/实践