飘云 发表于 2005-3-28 22:11:16

[PYG]算法分析入门第一课

【破文标题】算法分析入门第一课
【破文作者】飘云
【破解工具】PEiD0.93、od二哥修改版、w32dasm
【破解平台】winxp
【作者邮箱】[email protected]
【软件名称】crackme
【保护方式】用户名+注册码

    ★这是我以前学算法时研究过的一个crackme,比较简单,现在整理出来给大家参考一下,高手止步!!


先用PEiD0.93探视一下“敌情”:呵呵,没有壳,并且为C++编写,试着运行程序,填入注册信息:
PIAOYUN
789456123

弹出错误的窗口,^_^接下来w32dasm找到这里:

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004014E4(C), :004014F3(C), :00401516(C), :0040151C(C), :00401522(C)
|:00401528(C), :0040152E(C)哇!这么多地方跳过来的啊,我们先找到最早的一个:004014E4(C)
|
:00401536 6A00                  push 00000000

* Possible StringData Ref from Data Obj ->"ERROR"
                                  |
:00401538 6864304000            push 00403064

* Possible StringData Ref from Data Obj ->"One of the Details you entered "
                                        ->"was wrong" ★★★这个就是出错语句,向上看★★★
**********************************************************************************************
现在为了说明方便,用od下断点:004014E4
运行程序然后输入注册相信,中断在此:
004014D6         .E8 6F030000    call <jmp.&MFC42.#3876>         ;取得用户名位数
004014DB         .8B1D FC214000mov ebx,dword ptr ds:[<&USER32.>;USER32.PostQuitMessage
004014E1         .83F8 05      cmp eax,5                     ;是否大于5位
004014E4         .7E 50          jle short chap202.00401536      ;小于就出错
004014E6         .8D6E 60      lea ebp,dword ptr ds:
004014E9         .8BCD         mov ecx,ebp
004014EB         .E8 5A030000    call <jmp.&MFC42.#3876>         ;取得假码位数
004014F0         .83F8 05      cmp eax,5                     ;是否大于5位
004014F3         .7E 41          jle short chap202.00401536      ;小于则出错
004014F5         .8D86 E0000000lea eax,dword ptr ds:
004014FB         .8BCF         mov ecx,edi
004014FD         .50             push eax
004014FE         .E8 41030000    call <jmp.&MFC42.#3874>
00401503         .8DBE E4000000lea edi,dword ptr ds:
00401509         .8BCD         mov ecx,ebp
0040150B         .57             push edi
0040150C         .E8 33030000    call <jmp.&MFC42.#3874>
00401511         .8B07         mov eax,dword ptr ds:      ;假码送到eax
00401513         .8038 36      cmp byte ptr ds:,36      ;第一位是否位36即字符6
00401516            75 1E          jnz short chap202.00401536      ;不是则出错
00401518         .8078 01 32   cmp byte ptr ds:,32      ;第二位是否位32即字符2
0040151C            75 18          jnz short chap202.00401536      ;不是则出错
0040151E         .8078 02 38   cmp byte ptr ds:,38      ;第三位是否位38即字符8
00401522            75 12          jnz short chap202.00401536      ;不是则出错
00401524         .8078 03 37   cmp byte ptr ds:,37      ;第四位是否为37即字符7
00401528            75 0C          jnz short chap202.00401536      ;不是则出错
0040152A         .8078 04 2D   cmp byte ptr ds:,2D      ;第五位是否位2D即符号“-”
0040152E            75 06          jnz short chap202.00401536      ;不是则出错
00401530         .8078 05 41   cmp byte ptr ds:,41      ;第六位是否位41即字母A
00401534            74 17          je short chap202.0040154D       ;这里不跳就Game Over!!
00401536         > \6A 00          push 0
00401538         .68 64304000    push chap202.00403064         ;ASCII "ERROR"
0040153D         .68 38304000    push chap202.00403038         ;ASCII "One of the Details

you entered was wrong"
00401542         .8BCE         mov ecx,esi
00401544         .E8 F5020000    call <jmp.&MFC42.#4224>
00401549         .6A 00          push 0
0040154B         .FFD3         call ebx
0040154D         >8D8E E0000000lea ecx,dword ptr ds:
00401553         .8D5424 14      lea edx,dword ptr ss:
00401557         .51             push ecx
00401558         .68 2C304000    push chap202.0040302C         ;ASCII "Well done,"
0040155D         .52             push edx
0040155E         .E8 D5020000    call <jmp.&MFC42.#926>


【算法总结】

用户名必须大于5位,但是没有参与运算
注册码是固定的:6287-A

飘雪 发表于 2005-3-29 12:44:14

这个确实不错啊,对于新手,得感谢我们的老大啊

yijun 发表于 2005-3-29 17:44:57

辛苦,学习~

crazysky 发表于 2005-3-30 13:07:32

呵呵~!这个是看雪的crackme

穷光蛋こ小宝 发表于 2005-4-2 14:16:26

顶你一个,

云瑞 发表于 2005-4-2 16:23:35

学习!

hyd009 发表于 2005-4-3 20:56:03

呵呵,以前练习过,支持

xbb[DFCG] 发表于 2005-4-11 21:28:58

练习下下。

深蓝色的海 发表于 2005-4-12 15:58:59

老大
我会好好学习的
但也希望提供点破解工具
好让我们自己进行练习

飘云 发表于 2005-4-12 16:50:15

我没有提供工具吗??
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: [PYG]算法分析入门第一课