[原创]俺的第一个破解视频---爆破一个简单的CrackMe
[i=s] 本帖最后由 keheng 于 2009-9-17 08:58 编辑 [/i]请查看此Crackme的注册机编写:尘封的记忆 [url]http://www.bt518.cn[/url] [img]http://www.bt518.cn/blog/logo.gif[/img]
这是俺的第一个破解教程,也就是俺的处女作,一个比较简单的Crackme
高手见了不要笑话俺.
先运行一下程序,看看显示什么样的错误提示,这也是最基础的.
出现了错误提示
查壳,如果有壳需要先进行脱壳
MASM32 / TASM32,不知道这是啥程序编写的,有高手看到请指教 好像是C语言编写的
OD载入程序
单击右键查找字符串,可以找到刚才出现的错误提示.
看到了我们刚才看到的字符串
下面的Good cracker这个应该就是输入正确的注册码后的提示了.直接双击正确的提示
00401352 |> \6A 00 PUSH 0 ; /Style = MB_OK|MB_APPLMODAL
00401354 |. 68 49304000 PUSH d2k2_cra.00403049 ; |dont give up...
00401359 |. 68 59304000 PUSH d2k2_cra.00403059 ; |wrong code!try again!
0040135E |. 6A 00 PUSH 0 ; |hOwner = NULL
00401360 |. E8 A1000000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
00401365 |. EB 52 JMP SHORT d2k2_cra.004013B9
00401367 |> 6A 00 PUSH 0 ; /Style = MB_OK|MB_APPLMODAL
00401369 |. 68 6F304000 PUSH d2k2_cra.0040306F ; |sorry...
0040136E |. 68 97304000 PUSH d2k2_cra.00403097 ; |enter name!
00401373 |. 6A 00 PUSH 0 ; |hOwner = NULL
00401375 |. E8 8C000000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
0040137A |. EB 3D JMP SHORT d2k2_cra.004013B9
0040137C |> 6A 00 PUSH 0 ; /Style = MB_OK|MB_APPLMODAL
0040137E |. 68 6F304000 PUSH d2k2_cra.0040306F ; |sorry...
00401383 |. 68 A3304000 PUSH d2k2_cra.004030A3 ; |name can be max 32 chars long!
00401388 |. 6A 00 PUSH 0 ; |hOwner = NULL
0040138A |. E8 77000000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
0040138F |. EB 28 JMP SHORT d2k2_cra.004013B9
00401391 |> 6A 00 PUSH 0 ; /Style = MB_OK|MB_APPLMODAL
00401393 |. 68 6F304000 PUSH d2k2_cra.0040306F ; |sorry...
00401398 |. 68 78304000 PUSH d2k2_cra.00403078 ; |name must be min 5 chars long!
0040139D |. 6A 00 PUSH 0 ; |hOwner = NULL
0040139F |. E8 62000000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
004013A4 |. EB 13 JMP SHORT d2k2_cra.004013B9
004013A6 |> 6A 00 PUSH 0 ; /Style = MB_OK|MB_APPLMODAL
004013A8 |. 68 C2304000 PUSH d2k2_cra.004030C2 ; |good cracker
004013AD |. 68 CF304000 PUSH d2k2_cra.004030CF ; |serial is correct! now write a keygen + tut and send it to: [email]diablo2oo2@gmx.net[/email] !
004013B2 |. 6A 00 PUSH 0 ; |hOwner = NULL
004013B4 |. E8 4D000000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
这里出现了很多的错误提示
我这里接正确的提示到推到上面
这是一个跳转,从上面下来..
0040131F /0F84 81000000 JE d2k2_cra.004013A6
上面这个地址就是跳到这里来的,我们上去看看
004012F3 |. E8 F0000000 CALL <JMP.&USER32.GetDlgItemTextA> ; \GetDlgItemTextA
GetDlgItemTextA这个API是获取输入框字符的,在下面断下,然后运行程序
然后再单步前进
00401303 /7C 4D JL SHORT d2k2_cra.00401352
这里看到一下向下的跳转
看看跳到哪里,这里是一个错误提示
好像有个爆破原则,不知道叫啥了,75变74之类
0040131F /0F84 81000000 JE d2k2_cra.004013A6
这个跳转跳到了正确的提示,改一下.
OK了,我们保存一下程序
保存的03.exe
运行的试试,看看有没有爆破成功!
出现的正确的提示
因为注册码有一定的长度控制,所以如果超过10个字符就出错,小于5个也出错
00401325 |. 80C2 05 ADD DL,5
00401328 |. 80FA 5A CMP DL,5A
0040132B |. 7F 14 JG SHORT d2k2_cra.00401341
0040132D |> 80F2 0C XOR DL,0C
控制长度的
教程制作完成
俺的QQ号:82668816,希望一些高手指教.谢谢
[color=Red]完全破解此Crackme请访问[url]www.bt518.cn[/url],有对此软件的详细分析过程及注册机代码![/color] 真晕,这么好的贴子居然没人顶................................... :wuyu:好晕 可惜看不懂,要学习的东西太多了。 还是看不懂,俺太弱了 要下载这么多啊 叫我怎末顶吗 晕,支持一下
页:
[1]
