作者:newrain(ubunoon)
日期:2008-03-07
email:ubunoon@sina.com
软件下载地址:
355K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4J5j5h3y4C8L8h3g2K6i4K6u0W2k6r3g2Q4x3V1k6#2M7$3g2J5M7#2)9J5c8Y4y4A6L8X3!0C8i4K6u0r3j5%4u0S2j5$3E0E0k6g2)9#2k6U0q4Q4x3V1k6V1L8%4N6F1L8r3!0S2k6q4)9J5y4X3&6T1M7%4m8Q4x3@1u0Q4c8e0g2Q4z5e0m8Q4z5p5c8Q4c8e0N6Q4b7e0N6Q4b7U0m8Q4c8e0c8Q4b7U0S2Q4b7V1q4o6M7X3q4U0K9$3#2W2i4K6t1$3L8X3u0K6M7q4)9K6b7W2)9J5x3K6q4Q4x3U0k6F1j5Y4y4H3i4K6y4n7i4K6u0V1i4K6t1$3L8X3u0K6M7q4)9K6b7Y4k6W2M7Y4W2Q4x3U0k6F1j5Y4y4H3i4K6y4n7M7$3W2E0M7r3I4W2i4K6t1$3L8X3u0K6M7q4)9K6b7W2N6A6L8X3c8G2N6%4y4Q4x3U0k6F1j5Y4y4H3i4K6y4n7j5%4u0S2j5$3E0E0k6g2)9J5y4X3&6T1M7%4m8Q4x3@1u0T1P5g2)9J5y4X3&6T1M7%4m8Q4x3@1u0e0K9h3&6G2K9H3`.`.
下载后首先运行crack.exe
提示password:
输入ubunoon 回车后提示bad出错信息。
打开OllyICE,载入crack.exe文件
在'反汇编'中选择'查找' '所有参考文本字串',出现
文本字串参考位于 crack:.text
地址 反汇编 文本字串
00401219 ascii "嵓'",0
00401220 push ebp (初始 CPU 选择)
00401396 mov dword ptr [esp], 00442000 ASCII "cls"
004013A2 mov dword ptr [esp+4], 00442004 ASCII "Good"
004013CE mov dword ptr [esp], 00442000 ASCII "cls"
004013DA mov dword ptr [esp+4], 00442009 ASCII "Bad"
0040142A mov dword ptr [esp+4], 0044200D ASCII "Password: "
....
0043EFA1 mov dword ptr [esp], 00442126 ASCII "basic_string::_M_replace_aux"
由于初始时提示password,因此双击password,跳转到password的汇编代码窗口
00401425 |. E8 F6BD0000 call 0040D220
0040142A |. C74424 04 0D2>mov dword ptr [esp+4], 0044200D ; ASCII "Password: "
00401432 |. C70424 D05344>mov dword ptr [esp], 004453D0
00401439 |. E8 CACE0300 call 0043E308
0040143E |. C74424 04 145>mov dword ptr [esp+4], 00445014
00401446 |. C70424 705444>mov dword ptr [esp], 00445470
0040144D |. E8 36E20300 call 0043F688
00401452 |. E8 1D0D0300 call 00432174
00401457 |. 894424 08 mov dword ptr [esp+8], eax
0040145B |. C74424 04 010>mov dword ptr [esp+4], 1
00401463 |. C70424 705444>mov dword ptr [esp], 00445470
0040146A |. E8 75750200 call 004289E4
0040146F |. C74424 04 105>mov dword ptr [esp+4], 00445010
00401477 |. C70424 145044>mov dword ptr [esp], 00445014
0040147E |. E8 45CE0300 call 0043E2C8
00401483 |. 84C0 test al, al
00401485 > 74 07 je short 0040148E ; 输入password后的第一个跳转
00401487 E8 04FFFFFF call 00401390
0040148C |. EB 05 jmp short 00401493
0040148E |> E8 35FFFFFF call 004013C8
00401493 |> C70424 705444>mov dword ptr [esp], 00445470
0040149A |. E8 25680200 call 00427CC4
看到此处可能不是很明白,提示信息中有bad信息出现,再回到文本字串中,选择bad行,双击跳转到bad代码中
004013C8 /$ 55 push ebp
004013C9 |. 89E5 mov ebp, esp
004013CB |. 83EC 08 sub esp, 8
004013CE |. C70424 002044>mov dword ptr [esp], 00442000 ; |ASCII "cls"
004013D5 |. E8 F6F70000 call <jmp.&msvcrt.system> ; \system
004013DA |. C74424 04 092>mov dword ptr [esp+4], 00442009 ; ASCII "Bad"
004013E2 |. C70424 D05344>mov dword ptr [esp], 004453D0
004013E9 |. E8 1ACF0300 call 0043E308
004013EE |. C74424 04 A8D>mov dword ptr [esp+4], 0043D0A8
004013F6 |. 890424 mov dword ptr [esp], eax
004013F9 |. E8 26AE0200 call 0042C224
004013FE |. C9 leave
004013FF \. C3 retn
很明显上面的一段代码是一个标准的函数调用,在 004013D5调用system("cls")进行清屏操作,之后调用函数进行输出处理。再来看一下函数的起始地址,004013C8,这不是我们在前面的password中jmp后面call的地址嘛,呵呵,此时,你可以再往上看看:
00401390 /$ 55 push ebp
00401391 |. 89E5 mov ebp, esp
00401393 |. 83EC 08 sub esp, 8
00401396 |. C70424 002044>mov dword ptr [esp], 00442000 ; |ASCII "cls"
0040139D |. E8 2EF80000 call <jmp.&msvcrt.system> ; \system
004013A2 |. C74424 04 042>mov dword ptr [esp+4], 00442004 ; ASCII "Good"
004013AA |. C70424 D05344>mov dword ptr [esp], 004453D0
004013B1 |. E8 52CF0300 call 0043E308
004013B6 |. C74424 04 A8D>mov dword ptr [esp+4], 0043D0A8
004013BE |. 890424 mov dword ptr [esp], eax
004013C1 |. E8 5EAE0200 call 0042C224
004013C6 |. C9 leave
004013C7 \. C3 retn
也是一个标准的函数调用,首地址是password字串中第一个跳转语句后面的call制定调用的地址。现在是je之后跳转call出错提示,那么我们把je改为jne,就可以直接进入
00401487 E8 04FFFFFF call 00401390
这一条语句了。选中下面的语句,右击选择汇编,把je修改为jne
00401485 > 74 07 je short 0040148E ; 输入password后的第一个跳转
然后右击选择'复制到可执行文件'-'选择',转到
之后点击右键保存,完成破解
第一次破解,与大家分享。
暴力破解Crackme.doc
[培训]科锐逆向工程师培训第53期2025年7月8日开班!