软件手动脱壳进阶

软件手动脱壳进阶

ID:14282003

大小:58.50 KB

页数:9页

时间:2018-07-27

软件手动脱壳进阶_第1页
软件手动脱壳进阶_第2页
软件手动脱壳进阶_第3页
软件手动脱壳进阶_第4页
软件手动脱壳进阶_第5页
资源描述:

《软件手动脱壳进阶》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PEncrypt简介 MultiLayerEncryptorfortheDecryptor.SoftICE,ICEDumpDetectioncode.CrashestheOSincaseitisfoundinmemory.AntiICEDump's/TRACEXcommand.Win9xcompatible.Includesanti-debugging,anti-tracingroutines. 看完简介,我们了解到这个壳对抗Softice的模拟跟踪,对抗调试器跟踪等。 软件截图   脱壳目标PEncrypt4.0加壳Win98的记事本,选择Win2000,Xp中反跟踪选项加密,

2、Win9x/Me加密选项没选。 http://www.hackpx.cn  软件后用Fi测NOTEPAD.EXE的壳为PEncrypt4.0Gamma/4.0Phi->junkcode[重叠] 如何分辨加密壳和压缩壳,通用特点,Od载入时有入口警告或询问是压缩程序吗?普通压缩壳Od调试时候没有异常,加密壳全部有反跟踪代码,会有许多SEH陷阱使OD调试时产生异常。 找OEP的一般思路如下:  先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常。 外壳解压代码起始点如果是 pushfd   pushad 跟踪时如果有发现 popadpopfd  对应  有些壳只有 pus

3、had 和 popad 相对应  附近还有 retn jmp 等指令,发生跨断跳跃一般就到了OEP处。 当然也有其他的,如jeOEP等等,一般都是段之间的大跳转,OD的反汇编窗口里都是同一个段的内容,所以更好区别是否是段间跳转。  找Oep时注意两点。 1、单步往前走,不要回头。 2、观察。注意poshad、poshfd,popad、popfd等,和外壳代码处对应,注意地址发生大的变化。单步跟踪什么时候F8走,F7,F4步过? http://www.hackpx.cn  这里我说说关于F8(StepOver)和F7(Stepin)的一般方法,粗跟的时候一般都是常用F8走,但是有些

4、call是变形的Jmp,此时就需要F7代过,区别是否是变形Jmp的一个简单方法是比较call的目标地址和当前地址,如果两者离的很近,一般就是变形Jmp了,用F7走。对于Call的距离很远,可以放心用F8步过,如果你再用F7步过,只是浪费时间而已。F8步过对压缩壳用的很多,F7步过加密壳用的很多,如果用F8一不小心就跑飞(程序运行),跟踪失败。  加密壳找Oep 对于加密壳,我的方法一般是用OD载入,钩掉所有异常(不忽略任何异常,除了忽略在KERNEL32中的内存访问异常打勾。有时由于异常过多可以适当忽略一些异常),运行,数着用了多少次Shift+F9程序运行,显然最后一次异常后,

5、程序会从壳跳到OEP开始执行,这就是我们寻找OEP的一个关键,如果程序Shift+F9后直接退出,很明显加密壳检测调试器,最简单的应付方法就是用OD插件隐藏OD。 单步异常是防止我们一步步跟踪程序,即F8,F7,F4等,Int3中断是检测调试器用的,仅在Win9x系统中有效,2000/XP就会出现断点异常,其它的异常主要是干扰调试。这一系列的异常虽然干扰我们调试,但也给我们指明了一条通路,就是Shift+F9略过所有异常,然后找到最后一处异常,再它的恢复异常处下断点,跟踪到脱壳入口点。 确定从所有Seh异常中走出来,如果前面有大量循环,逐段解压。 当然你也可以用另一个好东西——T

6、race,在Command里来个tceip<42b000 (42b000是当前段的起始位置,滚动条拖到最上面就能看到了,一般程序编译的基地址为400000),42b000只是例子,如果你的下模拟跟踪时机很准,确定没有Seh异常,稍等一会我们就会停在OEP处(对特别加密壳需要大量时间跟踪,因为它的循环极多,但比手动跟踪快,大部分时候是的。)详细跟踪情况可以点运行跟踪看OD跟踪记录。  我们来实际体会一下。  我们把Od中的选项-调试选项-异常选项卡中  除了忽略在KERNEL32中的内存访问异常打勾,其余一个勾都不打,请检查自己的Od设置。  用OD载入程序后。  http://w

7、ww.hackpx.cn  Od提示程序加壳,选不继续分析。 00401000> FC             CLD 停在这里。00401001   FC             CLD00401002   FC             CLD00401003   90             NOP00401004 -E9BDBA0000    JMPNOTEPAD.0040CAC600401009 -E3D5          JECXZSHORTNOTEPAD.00400

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

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

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