想做爆破手的来

如何做TNT专家?——爆破经验谈
声明:这是jney2第 2破文我只是个菜鸟点点经验和和我样刚入门初学者共享

爆破几个条件
1、爆破工具:十 6进制编辑器任款(推荐用HEX Workshop)WIN32DASM反汇编器有这两样就可以初学者万不要贪多求全精通两件其它触类旁通、举反 3
2、爆破手会使用以上工具个爆竹不会点引就想当爆破手还是去下载MP3看DVD去吧jney2相当怀念当年用PCTOOL改 3国志IV哈哈张飞智力、魅力都是100两个小时就征服全国了可惜现在有许许多多游戏工具还有变速器东东越先进人就越懒学到知识就越少我不是说有好东东就不用哟
3爆破手必须会汇编实在不会也不要紧依葫芦画瓢总会吧找几个最详细最完美最经典教程练成功了!!!哈哈有兴趣了吧有信心了吧好了好了朋友赶紧学汇编吧如果你试了N次都没成功结论是:在其它方面更适合发挥你聪明才智
4信心、耐心、恒心你都得有点吧

有了上面几点你就可以进入CRACK初级阶段了事实上jney2水平也就这些jney2现状是:97年大专毕业时算是个DOS高手吧学校本有关中断大全书我硬是霸占了年才还用SR分析过NATAS4744源代码所以8086指令系统汇编功底还是有毕业后几年直干着和电脑无关又没充电学校学那点老底早没了所以到了现在VB、VC、BC、PB、DELPHI、ASP、JAVA...我是门都不会记忆力是天不如天了惭愧呀!真羡慕那些还在学校学习小弟妹!

废话少说还是说几点近来当爆破手几点经验吧

如何快速确定爆破物
1确定目标有没有加壳没有最好了话看是不是常见壳可不可以用现有脱壳软件Software快速脱掉搞不定暂时放弃它“我吃定你了!”不要这样老兄不就是壳么不要和他般见识记着你今天重点是爆破不要主次不分、本末倒置这也是初学者最易犯
这方面我用PEID它可以整合到资源菜单非常方便
2确定用什么语言编写经验是DELPHI结构清晰、紧凑最好分析其次是VCBCASM比较难是VB要有经验才可搞定两个VB P-CODE我就真窍不通了用DEXC反编译出来代码我名也看不懂VF我也不插手
这方面我用LANGUAGE2000把待查软件Software图标拖到LANGUAGE2000快捷方式上就OK了
3确定爆破物有没有防爆破技术大多数软件Software还是没用如果你修改文件后再运行有病毒感染提示或重新安装提示就表示你暂时可以放弃它了记得我上面说过不要和它般见识
我遇到很毒就有 斗地主5.4 脱壳后能运行但结果是自动关机看来用它作关机软件Software倒是蛮好

2如何快速找到爆破点
1用Win32DASM反汇编并保存工程文件
IDA PRO虽说功能强大个头大不说也没有完美汉化版给我感觉个字:慢!我不推荐初学者使用
2在反汇编文件中找到可疑点
经典语句自不用说比如“恭喜”“注册成功”“注册码
“无效注册码”“Thank You","Sorry"...找到后般向上不远处就可看到条件转移语句JZ、JNZ、JLE什么
事实上只有极少极少软件Software只修改注册判断就OK所以我们要把更多注意力转到其它可疑点如未注册标识过期警告次数标识NAG对话框...,熟练使用各种工具搜索功能是基本功的找到后再向上不远处找条件转移语句

如果找不到:
3利用EXESCOPE中对话框或ID号和地址指针通过转换可在反汇编文件中找到相应提示
有这样参数入栈:
PUSH 00000064 (64即为ID号为100当然不要遇到这样语句就是要凭自己经验和感觉判断还有Win32DASM里提示也不是完全对解释很清楚“Possible"“可能是”
4,在十 6进制编辑软件Software中搜索到提示信息起始地址,把它换成运行时偏移地址如你得到地址是004DE356那么回到Win32DASM中搜索6856E34D00(它就是:PUSH 004DE356我用这个思路方法曾对付个花指令)如果能找到处或两处就表示找对了有很多蛮狡猾定行得通

5找到注册判断CALL(子)
般在条传转移语句上面如果你找到CALL在中被了 2 3十次那肯定不是了顶多是串比较罢了个人所见过般在 3到 6次的间

6通过以上可疑点最好能找准注册标志变量种是固定内存变量中事先就定义好般有以下几种比较形式:
mov eax, dword ptr [00401078]
cmp eax, 00000001
jz ...

mov eax, dword ptr [00401078]
test eax, eax
jz ...

mov eax, dword ptr [00401078]
mov ebx, dword ptr [eax]
cmp ebx, 00000000
jnz ...

种是利用堆栈偏移临时变量;如
mov eax, dword ptr [ebp+50]
cmp eax,00000001
jz ...

...还有几种和前面几种类似举例

7最好能分析结构和流程

到这里找准爆破点应该没问题了

3如何爆破
当你找准爆破点后你会发现有很多种爆破思路方法都可以达目
1修改转移语句
般这样改:
不需要跳我就把74XX,75xx,0F84xxxxxxxx,0F85xxxxxxxx...中xx,xxxxxxxx(偏移量)改为0000000000
需要跳我就把7475改为EB,把0F84,0F85改为90E9这可避免万你有正确注册码反而会出错事情发生
2修改注册标志变量如变量为1则为注册为0则为未注册那么你只要搜索所有将该变量置0语句改为置1就行了
mov eax, 00000000
mov dword ptr [00401078], eax
这种好改但大多是这样:
xor eax, eax
mov dword ptr [00401078], eax
这种有些难度它不是简单地送值而是异或置0xor eax, eax机器码是33C0,只有两个字节而mov eax, 00000001机器码是B801000000有 5个字节这可不好玩我们可这样改把CC30改为B001B001是什么?就是mov al, 01啦!般情况下这样改都不会有问题
3修改判断CALL
如果这个只是判断注册是否正确并返回AX般会这样改在CALL入口处就改为B801000000C3就是
mov eax, 00000001
ret
这样可少执行代码并且不访问注册表甚至可把后面死码都置为00
4修改次数限制
我在爆破亿虎软件Software时我上面思路方法都用了看上都象正式什么注册提示都没了但用起来还是有30限制我实在分析不出暗桩在哪儿我就只好改这里了当然不是改次数改判断使直认为低于30就行了

4对于爆破几点认识
1爆破不是最简单
如果个软件Software采用明码比较不管它有没有加壳都可用OllyDbg的类动态调试工具在很短时间内获得并做成内存注册机速度的快有时令人惊讶我曾 5分钟的内找到注册码爆破往往要试N次改N处才可成功还要测试
2爆破时要注重分析编程者思路和判断机制这样才可以学他人长处了解他不足这样才可在初级阶段学到些有用技术我觉得这点比分析算法更重要作者在升级或作同类软件Software时注册算法肯定都是不而他流程和判断机制基本都是我遇到个软件Software要求注册但压根儿就没输入注册码地方它是通过注册文件注册
3爆破还可把有不作用功能屏蔽掉做真正完美版如上网自动更新等等当然高手还可加些功能像我们用Win32DASM 10.0

5几点其它经验
1在Win32DASM中右键双击CALL上面地址就可转到被同样右键双击转移入口上面地址就可转到开始跳这功能相当有用哟!
2搜索时可用如下表示:
X, 0000001D       (定只用EAX)
+00000050]
只取部分特征值有想不到妙处并且般不会漏
3个击破各各击破对于多产作者或同公司区别产品般都有效对于以后升级版本也
4拿来主义
个破解就是借来 DivX Subtitle Displayer是个很小很实用播放软件Software前几月我直用它看电影我用是4.44破解补丁后来网上出了4.5我就用FC32比较破解前后差异然后再找到修改点提取该点特征值再在4.5中搜索该值运气好得很改它!再运行!成功!再也没有烦人NAG从此踏上了我爆破手生涯作为初学者我建议不要用此种思路方法


爆破不苦码字苦!以上高手见了也许不屑但作为像我菜鸟应该有帮助由于我是边想边码没有准备很详细例子所以不到的处和定请各位指正不然有谁因我而误入歧途我实担当不起




  • 篇文章: 带壳分析易语言+简单浮点算法

  • 篇文章: 打造自己游戏修改器和内存补丁
  • Tags: 

    延伸阅读

    最新评论

    发表评论