|
一,爆破的几个条件。
1、爆破工具:十六进制编辑器任一款(推荐用HEX Workshop)。WIN32DASM反汇编器。有这两样就可以,初学者万不要贪多求全。精通一两件,其它触类旁通、举一反三。 *YPJct6
2、爆破手会使用以上工具。一个爆竹不会点引就想当爆破手,还是去下载MP3,看DVD去吧。jney2相当怀念当年用PCTOOL改《三国志IV》,哈哈,张飞的智力、魅力都是100。一两个小时就征服全国了。可惜现在有许许多多的游戏工具,还有变速器。东东越先进,人就越懒,学到的知识就越少。我不是说有好东东就不用哟。
3,爆破手必须会汇编。实在不会,也不要紧,依葫芦画瓢总会吧,找几个最详细,最完美,最经典的教程练一把。成功了!!!哈哈,有兴趣了吧,有信心了吧,好了好了朋友赶紧学汇编吧。如果你试了N次都没成功,我的结论是:在其它方面更适合发挥你的聪明才智。
4,信心、耐心、恒心你都得有一点吧。 3dAmo8W
ykyAX{\VX
有了上面的几点,你就可以进入CRACK的初级阶段了。事实上,jney2的水平也就这些。jney2的现状是:97年大专毕业时,算是一个DOS高手吧,学校的唯一一本有关中断调用大全的书我硬是霸占了一年才还。用SR分析过NATAS4744的源代码。所以8086指令系统的汇编功底还是有的。毕业后几年一直干着与电脑无关的事,又没充电。学校学的那点老底早没了。所以到了现在,VB、VC、BC、PB、DELPHI、ASP、JAVA...我是一门都不会。记忆力是一天不如一天了,惭愧呀!真羡慕那些还在学校学习的小弟妹!|R}dOhRE{Y
废话少说,还是说几点近来当爆破手的几点经验吧。
二,如何快速确定爆破物。
1,确定目标有没有加壳。没有最好了,有的话看是不是常见壳,可不可以用现有脱壳软件快速脱掉。搞不定的话,暂时放弃它。“我吃定你了!”,不要这样,老兄。不就是一壳么,不要和他一般见识。记着,你今天的重点是爆破。不要主次不分、本末倒置,这也是初学者最易犯的错误。 YeO[6,zF1
这方面,我用PEID。它可以整合到资源菜单,非常方便。 4Z &D
Ef
2,确定用什么语言编写。我的经验是,DELPHI的程序结构清晰、紧凑,最好分析。其次是VC,BC,ASM,比较难的是VB,要有一定的经验才可搞定一两个。VB P-CODE的我就真的一窍不通了,用DEXC反编译出来的代码我一名也看不懂。VF的我也不插手。 /#Dg:,*H
这方面,我用LANGUAGE2000,把待查软件的图标拖到LANGUAGE2000的快捷方式上就OK了。
-
3,确定爆破物有没有防爆破技术。大多数的软件还是没用的。如果你修改文件后再运行有病毒感染提示或重新安装提示就表示你暂时可以放弃它了。记得我上面说过的,不要和它一般见识。 ~$=W]
我遇到很毒的就有 斗地主5.4 脱壳后,能运行,但结果是自动关机,看来用它作关机软件倒是蛮好的。 m3&gdHV`
{IyP;pGSBn
三,如何快速找到爆破点。 wtwh*uV.
1,用Win32DASM反汇编并保存工程文件。 /YY38"u
IDA PRO虽说功能强大,个头大不说,也没有完美汉化版,给我的感觉一个字:慢!我不推荐初学者使用。 Q7"vbcvFJ
2,在反汇编文件中找到可疑点。 QDanl36
经典语句自不用说,比如,“恭喜”,“注册成功”,“注册码错误”“无效的注册码”,“Thank You","Sorry"...找到后,一般向上不远处就可看到条件转移语句JZ、JNZ、JLE什么的。 lD=.%F
事实上,只有极少极少的软件只修改注册判断就OK的。所以我们要把更多的注意力转到其它的可疑点。如未注册标识,过期警告,次数标识,NAG对话框...,熟练使用各种工具的搜索功能是基本功之一。找到后再向上不远处找条件转移语句。 x:S{XIphF@
4G"E< b
如果找不到:
3,利用EXESCOPE中的对话框或字符串的ID号和地址指针,通过一定的转换,可在反汇编文件中找到相应的提示。 `=9W1WB nt
一般的有这样的参数入栈: %&|]x@\d
PUSH 00000064 (64即为ID号为100,当然不要遇到这样的语句就是,要凭自己的经验和感觉判断。还有,Win32DASM里的提示也不是完全对,它的解释很清楚,“Possible",“可能是”。 sRUE
4,在十六进制编辑软件中搜索到提示信息的起始地址,把它换成程序运行时的偏移地址。如你得到地址是004DE356,那么回到Win32DASM中搜索6856E34D00,(它就是:PUSH 004DE356,我用这个方法曾对付个花指令)如果能找到一处或两处就表示找对了。有很多程序蛮狡猾的,不一定行得通。 B$g !H
%CiP5u \r
5,找到注册判断函数CALL(子程序) aMizMk{ ,
一般在条传转移语句的上面,如果你找到的CALL在程序中被调用了二三十次,那肯定不是了,顶多是字符串比较函数罢了。只一次的程序少,我见过的一般在三到六次之间。 =/e~m>?b
V Y:-Mf>
6,通过以上可疑点,最好能找准注册标志变量,一种是固定内存变量,在程序中事先就定义好的。一般有以下几种比较形式: #s$l26D*2$
mov eax, dword ptr [00401078] R0 _<M7
cmp eax, 00000001 @ZZBI=
jz ... d_ 4~[)
Z |x;N<
mov eax, dword ptr [00401078]
test eax, eax ImWdXYGv
jz ... 44*(x_)&y0
B5Pl^@e
mov eax, dword ptr [00401078] = uP9[{az
mov ebx, dword ptr [eax] Z8kKU8k
cmp ebx, 00000000 0#VKbH74
jnz ... r~Y"5\
e_Pdm8Lw)
还一种是利用堆栈偏移的临时变量;如 2t; =e~`
mov eax, dword ptr [ebp+50] }o:h05Y^
cmp eax,00000001 o N oX#
jz ... ?;&UwML
o=tO O`O
...还有几种与前面的几种类似,不一一举例。 {\Mlx5f
+7LD #L5
7,最好能分析一下程序的结构和流程。 s [bqc z\
}0MQXjiqg
到这里,找准爆破点应该没问题了。 \/F2i*TL8
| 手把手教你破解灰鸽子成为会员!! | 10-05 |
| 手把手教你手脱灰鸽子2007 Beta | 08-14 |
| 零基础制作《武林外传》外挂 (VB | 07-11 |
| 壳,加壳,脱壳,介绍壳的一些基本 | 07-07 |
| 给新手引路-浓缩汇编基础 | 06-29 |
| 妙解破解的原理 | 05-10 |
| 教菜鸟写注册机 | 04-16 |
| 软件破解新手进化篇 | 04-16 |
| [软件破解]破解原理 | 04-14 |
| [软件破解]常见保护的攻击:序列号 | 04-14 |
| 用OllyDbg手脱RLPack V1.17加壳的 | 04-04 |
| PELock v1.0x 脱壳之完美风暴 | 03-28 |