首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

破译入门(六)-实战“内存镜像法”脱壳

2012-06-20 
破解入门(六)-----实战“内存镜像法”脱壳内存镜像法的步骤(1)用OD打开软件(2)点击选项——调试选项——异常,把

破解入门(六)-----实战“内存镜像法”脱壳

内存镜像法的步骤

(1)用OD打开软件

(2)点击选项——调试选项——异常,把里面的忽略全部√上。CTRL+F2重载下程序

(3)按ALT+M,打开内存镜象,找到程序的第一个.rsrc.按F2下断点,然后按SHIFT+F9运 行到断点,接着再按ALT+M,打开内存镜象,找到程序的第一个.rsrc.上面的代码段.text(或者CODE)(也就是00401000处),按F2下断点。然后按SHIFT+F9(或者是在没异常情况下按F9), 直接到达程序OEP

 

实战

1 查壳

用PEID查壳的结果如下图,可以看出程序加了ASPack2.12的壳

破译入门(六)-实战“内存镜像法”脱壳

 

2 寻找OEP

(1)用OD载入该程序

破译入门(六)-实战“内存镜像法”脱壳

 

(2)依次选择OD选项(T)下的调试设置(D)子选择,弹出如下对话框,切到异常选项卡,将忽略下的子项全部勾上

破译入门(六)-实战“内存镜像法”脱壳

 

(3)Ctrl + F2重新载入要脱壳的程序,Alt + M打开内存镜像,找到程序的第一个.rsrc.按  F2下断点,按下F9运行程序

破译入门(六)-实战“内存镜像法”脱壳

 

(3)再按ALT+M,打开内存镜象,找到程序的第一个代码段.rsrc.上面的.text,按F2下断点,  按下F9运行程序

破译入门(六)-实战“内存镜像法”脱壳

 

(3)直接到达OEP

破译入门(六)-实战“内存镜像法”脱壳

注:有时候在给软件脱壳,千心万苦找到了OEP,却发现不是常见的“push ebp”,而是出 现如下图这种情况,其实这是OD将这段代码当做数据了没有进行反汇编识别,解决方 法是,选中一行右键选择“分析”菜单,选择“分析”下的“分析代码”,OEP就会出 现在眼前了

破译入门(六)-实战“内存镜像法”脱壳

 

3 脱壳

可以使用OD自带插件,也可以用LordPE,方法和前面"单步跟踪法"中使用方法一样

 

4 修复

可以使用ImportFix,方法和前面"单步跟踪法"中使用方法一样

 

 

 

热点排行