建立政企联动机制内容:散人软件破解教程(第三课)- 手把手教你学破解

来源:百度文库 编辑:中财网 时间:2024/04/28 17:04:21
散人软件破解教程(第三课)- 手把手教你学破解

大家好!我是散人,呵呵!我们又见面了,看过我课的朋友今天就继续往下看了!没看过的朋友假如有兴趣的话就请先把前两节课看完!好,按照惯例,今天应该讲脱壳了!好,我们先看一下“壳”的定义:我认为一个软件为什么加壳,主要原因还是利益问题,加了壳的软件一般是不能够编译破解使用的,就达不到我们免费的目的,只有我们先把他的皮剥下去,才能达到我们的破解目的。

这也就是我们为什么要学习脱壳的原因。壳有千万种,但常用的就那几种,我们只要把常用的几种壳的脱法学会,那别的什么壳也就自然会了,这是一个过程,是要慢慢积累的!在这里我尽量教大家快捷简单的脱壳方法,尽量让大家一看就懂。现在我们先讲一下给一个软件脱壳我们要用到的软件:

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

1、查壳工具

   PEID--功能强大的侦壳工具,自带脱壳插件(但是,效果不怎么样,所以我们就用它查壳就够了!)

   工作原理:核心是userdb.txt(呵何!大家可以看看)[通过壳的入口特征码进行辨认]

   使用方法:可以拖放、也可以把PEID添加到右键菜单里面去(如图)

 

 

 

下载地址:PEid0.94汉化版.rar

2、手动脱壳工具(为什么不用自动的呢?因为没有手动来的干净,好使!)

ODbyDYKOD--第一节课有讲过的,我就不多说了!

常用快捷键:

F2:在需要的地方下断点(INT3型断点)

F3:选择打开程序

F4:运行到所选择的那一行

F7:单步进入

F8:单步跟踪

F9:执行程序(运行程序)

3、修复工具

Import REConstructor 1.6—非常强大的修复工具哦~~~(如图)

 

 

下载地址:Import_Fix_1.6.rar

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

好!现在我们讲一下我们破解软件的工作原理:

查壳(使用工具PEID)--->寻找OEPOEP就是脱壳的关键地点)(使用工具OD--->脱壳--->修复(使用工具Import REConstructor)

 

好!工作原理知道了吧·那我们今天就脱个带有ASPack壳的笔记本,让他脱下狼的伪装,漏出真面目!ASPack是现在比较流行的一种壳!进入正题!

带有ASPack壳的笔记本下载地址:NotePad.98.E(ASPack_2.12).exe

脱壳步骤1。我们下把这个笔记本用PEID查壳我们可以清楚的看见他的壳是ASPack 2.12(如图)

 

 

我们已经知道是什么壳了那想什么呢!脱吧!

脱壳步骤2。我们将笔记本用OD载入(如图)

 

 

我们看反汇编区的第一行(我们以后在给软件脱壳时都要在反汇编区工作了(就是左上角的框))(如图)

 

 

看见了吗?开头有个pushad 看见了吗?在地址0040D001 那!根据“ESP定律脱壳法”只要在程序载入开头第一句就是ESP的关键句的话,我们就可以使用“下硬件断点的方法”直接到达OEP,那什么是关键句呢?在“ESP定律脱壳法”所谓的关键句也就是PUSHAD(压栈)和POPAD(出栈),在这里我们遇到的是“pushad”所以我们可以用“ESP定律法”的方法脱它,那要怎么脱呢!往下看吧!就明白了!

首先我们按左上角的按钮或F8(也叫单步跟踪) 步入到下一行(如图)

 

 

这时我们看一下右上角的寄存器窗口(如图)

 

 

0012FFA4 这段地址颜色非常鲜艳,呵呵!这就是关键!我说了我们这次脱壳用ESP定律法,那当然跟“ESP”有关系了!我们看这个高亮的0012FFA4这个地址正好指向了ESP(如图)

 

 

ESP定律法的规定中,寄存器窗口的ESP对应地址高亮就代表可以用“下硬件断点”的方法脱壳!

我们在看一下OD左下角有个命令窗口,这是我们用来打命令的地方,我们在这个窗口中输入“DD 0012FFA4DD是什么意思呢?DD就是查找这个地址的所在位置的命令,0012FFA4也就是我们刚才看见的寄存器窗口里ESP对应高亮的地址!(如图)

 

 

我们按回车!这时我们看一下左下角的内存窗口,OD已经在内存窗口中帮我们找到了这段地址在内存中的位置了!(如图)

 

 

看见了吧!但光显示在内存窗口中是没有用的!要在反汇编窗口中显示相应的位置才行!这时我们可以用我刚刚提到的ESP定律法中的“下硬件断点”的方法,找到在反汇编窗口中这段地址的位置。那我们应该怎么做呢?大家要看好了!我们先用鼠标点下在内存窗口中显示的“0012FFA4”这段地址,之后在这段地址上点右键,在弹出的菜单中选择 断点-----设置硬件访问断点-----Word (如图)

 

 

这时我们已经把这段地址放到了硬件断点里了!我们按“运行程序”键(在OD的左上角或按F9)我们再看反汇编窗口(如图)

 

 

我们可以看见在0040D3B00040D3BA这段距离有一条红色的尖头连着,这说明我们只要再按一下“单步跟踪(F8)”键就会来到红色箭头指向的位置,这就叫跳转,我们按下“单步跟踪”键来到地址为“0040D3BA”这里,这时我们看下这段代码(如图)

 

 

Push 就是入站的意思,后面写着一段地址 004010CC 放一起的话意思就是 004010CC入站的意思!在看它的下一行 有个retn 意思就是到004010CC入站后返回 004010CC的这段地址。

我们判断是否到达了OEP(脱壳的关键地点)的方法一共有两种,1。就是查看常见五种语言特征 2。看是否有大跨段 大家现阶段接触的壳大部分都是看是否有大跨段跳转来判断是否到达OEP的!所以我们看上图,现在我们所在的地址是0040C3BA而一会我们要跳到004010CC 这可是一个很大的跳转,所以我们判断现在已经快到达OEP了!我们点两下“单步跟踪”键,这时我们就跳到了入站的地点 004010CC 也就是我们脱壳的关键地点OEP!!!好了,现在我们脱壳吧!我们用鼠标指在004010CC这段地址上,点右键在弹出的菜单中点“用OllyDump脱壳调试进程”点击进入脱壳界面 (如图)

 

 

点脱壳,保存到我们想保存的地方就OK了!!(但这指的是单个文件的软件,要是有多个文件组成的软件的话,一定要保存到这个文件目录,否折是用不了的!)

好!我们在拿刚才我介绍的查壳软件PEID查下看看还有壳没?(如图)

 

 

哈哈!脱掉了吧!我们可以清楚的看见这个软件的真面目是用Microsoft Visual C++ 6.0 编的!呵呵!这样我们以后在遇到ASPack壳的话我们就不用怕它了!先脱了他的防弹衣在开枪打它吧!呵呵!

对了!有件事忘了,刚刚我们下的硬件断点在破解完软件后一定要把他删除哦!否折会一直留在OD中!我们可以在OD中点 调试---硬件断点 即可删除掉它!(如图)

 

 

我们也可用它查看我们是否以经下了断点!

好了!今天的课程就讲到这里,因为这个软件脱壳后是不需要修复的,所以今天就没有讲到修复,我们以后一定会用到它的,大家不用着急!呵何!13号见!88!

 

以后课程将每周日发布一篇

下节课程时间:六月十三日 12:00整