Thend 发表于 2013-12-15 19:20

【吾爱2013CM大赛解答】-- 风云CM2013 --风云思星 爆破分析

[文章标题]: 【吾爱2013CM大赛解答】--风云CM2013 --风云思星 爆破分析
[作者信息]: 0n1y3nd
[操作平台]: Win7 Sp1 & Windows XP Sp3
[使用工具]: OD
[软件名称]:风云CM2013 --风云思星
[下载地址]: 【吾爱2013CM大赛题目】-- 风云CM2013 --风云思星 http://www.52pojie.cn/thread-228498-1-1.html正文:
先直接运行,随便输入,弹出错误提示框。
载入OD
下bp MessageBoxA断点 。随便输入,点击按钮
程序断下:
执行到用户代码,来到:
0041A057|.52            push edx                                 ; /Style
0041A058|.50            push eax                                 ; |Title
0041A059|.51            push ecx                                 ; |Text
0041A05A|.6A 00         push 0x0                                 ; |hOwner = NULL
0041A05C|.FF15 10C34100 call dword ptr ds:[<&USER32.MessageBoxA>>; \MessageBoxA
0041A062|.48            dec eax
0041A063|.81C4 04010000 add esp,0x104
0041A069\.C3            retn

再回溯一次:
00406B72|. /E9 96000000   jmp 风云CM20.00406C0D                      ;跳过错误提示call
00406B77|> |68 04000080   push 0x80000004                        ;这个地方,跳转来自 00406919
00406B7C|. |6A 00         push 0x0
00406B7E|. |68 5EE54100   push 风云CM20.0041E55E                     ;失败!
00406B83|. |68 01030080   push 0x80000301
00406B88|. |6A 00         push 0x0
00406B8A|. |68 00000000   push 0x0
00406B8F|. |68 04000080   push 0x80000004
00406B94|. |6A 00         push 0x0
00406B96|. |68 65E54100   push 风云CM20.0041E565                     ;注册失败
00406B9B|. |68 03000000   push 0x3
00406BA0|. |BB 00030000   mov ebx,0x300
00406BA5|. |E8 C6320100   call 风云CM20.00419E70
00406BAA|. |83C4 28       add esp,0x28                           ;回溯到这里

往上翻:找到关键跳:
004068DB|.FF90 A0010000 call dword ptr ds:            ;取注册码
004068E1|.8945 F8       mov ,eax                        ;local.2存入注册码
004068E4|.8B5D FC       mov ebx,                        ;ebx 赋 0
004068E7|.85DB          test ebx,ebx
004068E9|.74 09         je X风云CM20.004068F4
004068EB|.53            push ebx
004068EC|.E8 D8060100   call 风云CM20.00416FC9
004068F1|.83C4 04       add esp,0x4
004068F4|>68 AAF64100   push 风云CM20.0041F6AA
004068F9|.8D45 F8       lea eax,
004068FC|.50            push eax
004068FD|.E8 0F030000   call 风云CM20.00406C11                     ;这是个算法call
00406902|.8945 F4       mov ,eax
00406905|.8B5D F8       mov ebx,
00406908|.85DB          test ebx,ebx
0040690A|.74 09         je X风云CM20.00406915
0040690C|.53            push ebx
0040690D|.E8 B7060100   call 风云CM20.00416FC9
00406912|.83C4 04       add esp,0x4
00406915      837D F4 01    cmp dword ptr ss:,0x1         ;比较
00406919|.0F85 58020000 jnz 风云CM20.00406B77                      ;关键跳直接nop掉
0040691F|.68 04000080   push 0x80000004
00406924|.6A 00         push 0x0
00406926|.68 4EE54100   push 风云CM20.0041E54E                     ;恭喜!
0040692B|.68 01030080   push 0x80000301
00406930|.6A 00         push 0x0
00406932|.68 00000000   push 0x0
00406937|.68 04000080   push 0x80000004
0040693C|.6A 00         push 0x0
0040693E|.68 55E54100   push 风云CM20.0041E555                     ;注册成功
00406943|.68 03000000   push 0x3
00406948|.BB 00030000   mov ebx,0x300
0040694D|.E8 1E350100   call 风云CM20.00419E70

爆破就直接将00406919 |. 0F85 58020000 jnz 风云CM20.00406B77 ; 这个关键跳 直接nop掉。即可

成功示例图:







9hack 发表于 2013-12-15 19:24

分析的很透彻,值得大家学习!

1354669803 发表于 2013-12-15 19:37

你重启以后就知道了 风云的东西可不是这么简单的

Thend 发表于 2013-12-15 19:48

1354669803 发表于 2013-12-15 19:37 static/image/common/back.gif
你重启以后就知道了 风云的东西可不是这么简单的

额 -,-   之前看到那个reg.ini大致就猜出是个重启验证类型的了。这样直接爆破之后是可行的

1354669803 发表于 2013-12-15 19:49

Thend 发表于 2013-12-15 19:48 static/image/common/back.gif
额 -,-   之前看到那个reg.ini大致就猜出是个重启验证类型的了。这样直接爆破之后是可行的

唔 破解追求的是完美

Thend 发表于 2013-12-15 19:54

1354669803 发表于 2013-12-15 19:49 static/image/common/back.gif
唔 破解追求的是完美

{:1_907:}嗯,谢谢指教啦。。。{:1_893:}
页: [1]
查看完整版本: 【吾爱2013CM大赛解答】-- 风云CM2013 --风云思星 爆破分析