码迷,mamicode.com
首页 > 其他好文 > 详细

<Crack> 手脱UPX

时间:2016-04-19 13:53:30      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

2016-4-19(YPP)

 

<此篇为脱壳入门教程>

UPX简介

http://baike.baidu.com/link?url=h_P3r-L0icvZoSNO-HUwY4RE3ptQ9r6d8H1ZFsgGlCOqyv6Q68N95BHIvNY2nCs0IUdYt0xy6LYQ_pDF-Gg6Na

 技术分享

              ①UPX加壳压缩

              ②寻找OEP

              ③Dump内存映像

              ④重建IAT

              ⑤正常运行

 

    首先对Win98记事本程序 NOTEPAD.exe用UPX进行压缩处理

    技术分享

 

技术分享

 PE检测信息如下:

Upx版本:3.91

 技术分享

压缩前:(10CC为程序真正的入口点,Original Entry Point简称OEP)

 技术分享

压缩前后文件大小的变化(压缩后文件名更改为notepad_upx.exe)

 技术分享

GUI版本的UPX压缩方法如下:

 技术分享

 

-------------------------------------------------------------------------------------------------------------

得到压缩后的记事本程序:notepad_upx.exe

下面开始“手脱”

Ollydbg载入notepad_upx.exe,停在0040E8C0 PUSHAD

 技术分享

0040E8C0并非程序真正的入口点,寻找真正OEP的关键是寻找“跳转”,单步往下进行,若遇到大范围跳转则很可能遇到OEP

简化实例,跳转OEP的指令位于“末端”(往下翻页)如图:

004010CC就是未进行压缩的文件的入口点,F4至此,F7步入即可来到OEP

技术分享

 

 技术分享

 

已成功寻找OEP,下步重建Dump映像

抓取的前提是:内存映像已还原

到达OEP时,即可抓取

打开Lord PE-Options

默认勾选:Full dump:paste header from disk  <PE头的信息直接从磁盘文件获得>

 技术分享

 

选中notepad_upx.exe该进程,右键执行: dump full命令

 技术分享

 

 技术分享

 

 技术分享

 

内存抓取的文件为 dumped.exe 此时还不能运行!下一步是重建IAT”

还是在OEP处,打开ImportREC选中该进程。

填入OEPRVA10CC,自动检测IAT的偏移和大小

单击“获得输入表”,显示所有DLL有效!

单击“fix dump”修复转存文件

选择dumped.exe,修复完成后自动更名为dumped_.exe

 技术分享

技术分享

 

 技术分享

 

此时脱壳已完毕,重建IAT后,能够正常运行!

END.

<Crack> 手脱UPX

标签:

原文地址:http://www.cnblogs.com/yppshell/p/5407668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!