首页
社区
课程
招聘
[旧帖] [原创]给大家一些学习方法 0.00雪花
发表于: 2009-5-30 14:02 9410

[旧帖] [原创]给大家一些学习方法 0.00雪花

2009-5-30 14:02
9410
先学汇编(VB)  再写OD 之后 爆破  之后IDA分析 算法分析 静态分析 动态分析之后经验!

我最初学习时是了解了一部分有关破解的资料,走了好多弯路,到现在还是一个菜鸟,我把我的学习破解的经验给大家分享以下:
第一课了解软件
1   壳的概念

    首先我想大家应该先明白“壳”的概念。在自然界中,我想大家对壳这东西应该都不会陌生了,植物用它来保护种子,动物用它来保护身体等等。
    同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。
    它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。
    就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。
    由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。
    就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。

2   为什么要加壳

有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等
防止被crack破解

3   破解软件,脱壳几乎占了一半的位置

需要把程序搞的小一点,从而方便使用(也有的为了加密而增大体积的)
于是,需要用到一些软件,他们能将exe可执行文件压缩,

实现上述两个功能,这些软件称为加壳软件或压缩软件.
它不同于一般的winzip,winrar等压缩软件.
它是压缩exe可执行文件的,压缩后的文件可以直接运行.

当然,正确的说,「壳」与「加密」是一体的,这类似你有一个纯文字档,如果你用 zip 压缩它以后,能够再更改它吗 ? 不可能,因为资料已经被重新排列、且压缩运算过,成为一堆乱码,所以根本不能直接改。

=========================================================

2  软件如何加壳过程演示

软件作者给破解者带来的麻烦

编写软件----生成exe文件----加壳

==========================================================

3  侦壳软件language2000的使用方法

4  侦壳软件peid0.92的使用方法

5  侦壳软件fi.exe使用和设置方法
VC++
VB   

第二课脱壳

脱壳方法总结

------------------
方法一:单步跟踪法
------------------
介绍:这是最通用的方法,对于未知壳,基本都用这种方法,这种方法过程比较麻烦,要一步一步的跟踪分析,要有一定的耐心.

1.用OD载入,选"不分析代码"

2.单步向下跟踪按F8,实现向下的跳.不让程序往回跳.

3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——>运行到所选)

4.如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,不然程序很容易运行.

5.在跟踪的时候,如果运行到某个CALL程序就运行的,就在这个CALL中F7进入.

6.一般遇到很大的跳转(跨段跳),比如 jmp XXXXXX 或 JE XXXXXX 或有RETN的一般很快就会到程序的OEP。

-----------------
方法二:ESP定律法
-----------------
介绍: 这种方法可以脱大部的压缩壳和少数加密壳,操作起来比较简单,脱壳速度也相对比较快.

1.开始就点F8向下走,注意观察OD右上角的寄存器中ESP有没突现(变成红色)

2.在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者hr
XXXXXXXX),按回车!

3.选中下断的地址,断点--->硬件访--->WORD断点。

4.按一下F9运行程序,直接来到了跳转处,按下F8向下走,就到达程序OEP。

-----------------
方法三:内存镜像法
-----------------
介绍:也是一种比较好用的脱壳方法,大部分的压缩壳和加密壳用内存镜像法能快速脱掉.非常实用.

1.用OD打开,设置选项——调试选项——异常,忽略所有异常(也就是把里面的忽略全部√上),然后CTRL+F2重载下程序!

2.按ALT+M,打开内存镜象,找到程序的第一个.rsrc.按F2下断点,然后按SHIFT+F9运行到断点.

3.接着再按ALT+M,打开内存镜象,找到程序的第一个.rsrc.上面的.CODE,按F2下断点!然后按SHIFT+F9,直接到达程序OEP!

----------------
方法四:一步到OEP
----------------
介绍:这是一种巧方法,脱壳速度最快,前提是要知道这个壳的特征,利用这种壳的共性快速找到程序的OEP.这种方法只用于少数壳.

1.开始按Ctrl+F,输入:popad,然后按下F2下断,按F9运行到此处.

2.很快来到大跳转,按F8向下走,来到OEP.

第三课 汉化修改软件

1  初识十六制编辑工具:UltraEdit1010c
2  应用程序软件的格式
3  汉化的原理及实现exescope的使用
regmon6.06的汉化过程

============主要内容=============

1  初识十六制编辑工具:UltraEdit1010c

以十六进制的方式看文件

破解必备

可以看到软件的信息

=========================================================
2  应用程序软件的格式

当软件作者完成代码编译成exe文件格式后
软件里面的图形和文字信息也以某种形式记录在文件里
我们只要用特定的软件就可以方便的提取和修改里面我们想要的东西
一般来说的高级语言编写的软件都可以修改
当然如果有壳的话要先脱壳

=========================================================

3  汉化的原理及实现

exescope.exe
专用的修改exe文件资源的软件
用它可以提取修改应用程序里面的资源

汉化regmon软件实例

第四课 爆破软件

1  学会使用反汇编软件w32dasm
2  十六进制编辑软件UltraEdit1010c
3  学会爆破一般的软件
4  汇编常用跳转语句

========================基本步骤=========================

1、首先看是否加壳

2、w32dasm反汇编,找到关键跳转

3、UE打开,修改跳转条件

JZ/JE    74 Z=1 零/等于         
JNZ/JNE  75 Z=0 不为零/不等于

跳转常用74和75

JA/JNBE(比较无符号数) 77 C或Z=0 >  高于/不低于或等于
JAE/JNB(比较无符号数) 73 C=0 >=  高于或等于/不低于
JB/JNAE(比较无符号数) 72 C=1 <  低于/不高于或等于
JBE/JNA(比较无符号数) 76 C或Z=1 <=  低于或等于/不高于
JG/JNLE(比较带符号数) 7F (S异或O)或Z=0 >  大于/不小于或等于
JGE/JNL(比较带符号数) 7D S异或O=0 >=  大于或等于/不小于
JL/JNGE(比较带符号数) 7C S异或O=1 <  小于/不大于或等于
JLE/JNG(比较带符号数) 7E (S异或O)或Z=1 <=  小于或等于/不大于

第五课  寻找内存中注册码

1  十六进制编辑软件  WinHex 11.2 SR-1 的介绍与使用
2  学习从内存中直接提取注册码实例及原理实现
3  破解者工具的一般设置OD的基本设置,fi等软件的右键菜单的关联设置

第六课  跟踪注册码

1  进一步熟悉使用反汇编软件w32dasm
2  初步学会设置,使用动态调试工具ollydbg
3  学会会追出一般的软件的注册码
4  了解破解软件静态,动态的过程和意义

==========基本步骤===============

1、首先看是否加壳(已测试未加壳)

2、w32dasm反汇编,找到关键比较

3、ollydbg打开,设断点,注册,断下后查找注册码

最后,也就是最关键的,用学过的汇编知识写出注册机!

希望大家给提出宝贵意见或建议来完善我这不成熟的学习方法~~~
谢谢各位大侠的指教.

李子  2009/5/30

li521_yanmin@163.com

QQ:252413543  

希望大家来交流~~~~~~~~

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (34)
雪    币: 387
活跃值: (25)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
好文, 楼主辛苦了
期待楼主再出好文
2009-5-30 20:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不错,谢谢了,本人新手,请多指教!
2009-5-30 21:42
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼主写的太好了,支持,真是指点迷津啊!
2009-5-30 22:52
0
雪    币: 291
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不知道这些东西是楼主什么时候总结的,里面侦壳还用的PEid 0.92版本...
2009-5-30 23:08
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
先收藏,慢慢看
2009-5-31 16:58
0
雪    币: 236
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
有些内容比较老了
2009-6-1 01:15
0
雪    币: 444
活跃值: (103)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
路过看到此文章,收藏学习了。
2009-6-1 15:26
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
还不错,再整理得详细一些就更好了。
2009-6-1 16:21
0
雪    币: 306
活跃值: (153)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
都是基础知识,还不错对刚接触的人来说
2009-6-1 17:37
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不错,新手的快速入门
2009-6-1 18:11
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
十分感谢楼主分享经验,学习了!
2009-6-1 18:35
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不错,很适合新手学习。
2009-6-1 18:36
0
雪    币: 115
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不错,很适合新手学习。顶个。。。
2009-6-1 18:45
0
雪    币: 444
活跃值: (103)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这是入门级的教材,对初学者很有帮助,谢谢了
2009-6-1 19:43
0
雪    币: 100
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
路过,不过已经不想看这种思路的贴子啦
2009-6-1 21:58
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
看了楼主的帖子才知道自己该做什么了。先从基础来吧。
2009-6-1 22:41
0
雪    币: 270
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
不错,很适合新手学习。一定要顶
2009-6-2 01:26
0
雪    币: 214
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
这个是目录吗?
2009-6-2 16:27
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
不错的入门教材。。。赞楼主
2009-6-14 22:15
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
不错 非常感谢
2009-6-15 06:23
0
雪    币: 1363
活跃值: (139)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
呵呵……
有的内容有的过时了…………
2009-6-15 07:16
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
是篇入门的好文章,谢谢lz了,很有帮助
2009-6-15 08:02
0
雪    币: 1735
活跃值: (1395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
收了,,慢慢学
2009-6-15 08:32
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
相当好的入门教材,很不错
感谢楼主
2009-6-15 12:19
0
游客
登录 | 注册 方可回帖
返回
//