对用petite2.2加壳的程序进行手动脱壳的一点分析

对用petite2.2加壳的程序进行手动脱壳的一点分析

ID:9518578

大小:62.50 KB

页数:7页

时间:2018-05-02

对用petite2.2加壳的程序进行手动脱壳的一点分析_第1页
对用petite2.2加壳的程序进行手动脱壳的一点分析_第2页
对用petite2.2加壳的程序进行手动脱壳的一点分析_第3页
对用petite2.2加壳的程序进行手动脱壳的一点分析_第4页
对用petite2.2加壳的程序进行手动脱壳的一点分析_第5页
资源描述:

《对用petite2.2加壳的程序进行手动脱壳的一点分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、对用Petite2.2加壳的程序进行手动脱壳的一点分析~教育资源库  (以后如未特别说明,这里所说的脱壳均是指对用Petite2.2加壳的程序而言)  前言:这几天一直在对Petite2.2做试验。总结一下这几天的一点经验,希望对大家对Petite2.2加壳的程序进行手动脱壳时有一点帮助。一般按照以下方法可以简化跟踪的过程,也节省一点大家手动脱壳的时间。(当然大家如果手头上有对此的自动脱壳的工具的话,就不在此列了。可惜现在我手头上还没有。也没有编写这类脱壳程序的经验,不知道如何下手。希望以后我能对此知其一二:-))这里能简化的一点步骤就是不需要重建im

2、porttable,(以下可以看到原因)。看到r!sc的文章对Petite.exe(注意是加壳程序本身)脱壳时,需要自己构造一个importtable(我没有构造importtable的经验,想来这是一件很花工夫的事情),这很让人以为Petite加壳的程序也需要这样做。实际上情况比想象的好:-)。这也是我写篇文章的动机所在。  以下用Petite2.2加壳Notepad.exe(M$自带的记事本程序)来说明一下。  目标文件:Notepad.exe(用Level4级压缩方式加壳)  加壳方式:Petite2.2  所用工具:SoftICEv4.0,Pr

3、ocDumpv1.6.2,ICEDumpv6.0.15  :ljttt  1、首先,当然少不了用ProcDump来分析一下对我们有用的文件信息。  EntryPoint:0000D042  Sizeofimage:0000E000  ImageBase:00400000  2、用SoftICE的Loader加载加壳程序。  3、设断点  bpxloadlibraryadoddesp->4  4、F5运行程序,将中断在我们所设断点上。观察数据窗口。可以看到将要被程序加载的的动态链接库的名字字符串。如下:0030:004008004C4548532E

4、32334C006C6C644E52454BSHELL32.dll.KERN0030:0040081032334C456C6C642E455355002E323352EL32.dll.USER32.0030:00400820006C6C64334944476C642E326F63006Cdll.GDI32.dll.co0030:00400830676C646D642E323341006C6C50415644mdlg32.dll.ADVAP0030:004008402E323349006C6C640000000000000000I32.dll......

5、...0030:0040085000000000000000000000000000000000................  但是这里不是image_import_descriptors的部分。大多数时候我们看到的内存地址为400800,(这是在PE头的空间内),从我跟踪的几个程序的情况分析,还原代码总是把要加载的链接库名字复制到此,而没有破坏真正的image_import_descriptors,因此我们要找到真正的importtable的入口地址。  5、下指令。向后搜索字符串  s30:400850lffffffff'SHELL32

6、.dll'  搜索结果如下:  Patternfoundat0030:0040D382(0000CB32)  6、下指令。搜索importtable部分  s30:400000lffffffff82,D3,00,00  搜索结果如下:  Patternfoundat0030:0040D234(0000D234)  7、我们来看看真正的importtable的入口,下指令  dd40d234-c  显示如下:0030:0040D22800000000356C813B7FCE00000000D382....;.l5.......0030:0040D

7、2380000D2D400000000355A749DBFF70000.........tZ5....0030:0040D2480000D38E0000D2C000000000356C8139............9.l50030:0040D258BFF500000000D39B0000D2B400000000................  我们要记在其RVA=40D228-400000=0000D228。大小嘛,向下找到大量00字节的地方。计算1B4=0040D3DC-0040D228。  (我想大一点也无所谓吧)  8、好了importtab

8、le的问题结解决了。再来看看找EntryPoint的问题。按F12键回到Notepad.exe

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。