吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11745|回复: 21
收起左侧

[原创] 宝宝成长日记 V3.0 算法分析+注册机

[复制链接]
null119 发表于 2010-6-28 19:13
【文章标题】: 宝宝成长日记 V3.0 算法分析+注册机
【文章作者】: null
【作者邮箱】: null_vbt@163.com
【作者主页】: http://hi.baidu.com/null_vbt
【软件名称】: 宝宝成长日记 V3.0
【软件大小】: 3.63 MB
【下载地址】: http://www.newhua.com/soft/100128.htm
【加壳方式】: 无
【保护方式】: 注册码
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD/PEID/破解计算器/密码学综合工具
【作者声明】: 比较适合小鸟练手
--------------------------------------------------------------------------------
【详细过程】
  
  PEID检查无壳,Borland Delphi 6.0 - 7.0,KANAL插件查出MD5算法
  
  OD载入,通过字符串参考找到如下注册提示信息,
  
   地址=00676F4D   反汇编=mov eax,BB.0067703C   文本字串=注册成功,感谢您的支持  //左键双击或Enter跟随
  
  00676F4D  |.  B8 3C706700   mov eax,BB.0067703C                      ;  注册成功,感谢您的支持  //来到这里
  
  向上查看,找到段首,下面就是注册按钮的事件代码
  
  00676CBC  /.  55            push ebp
  00676CBD  |.  8BEC          mov ebp,esp
  00676CBF  |.  B9 0A000000   mov ecx,0A
  00676CC4  |>  6A 00         /push 0
  00676CC6  |.  6A 00         |push 0
  00676CC8  |.  49            |dec ecx
  00676CC9  |.^ 75 F9         \jnz short BB.00676CC4
  00676CCB  |.  51            push ecx                                 //因为上面有一个小循环,为了节省分析时间,在这里F2下断
  00676CCC  |.  53            push ebx
  00676CCD  |.  56            push esi
  00676CCE  |.  8BD8          mov ebx,eax
  00676CD0  |.  33C0          xor eax,eax
  00676CD2  |.  55            push ebp
  00676CD3  |.  68 A66F6700   push BB.00676FA6
  00676CD8  |.  64:FF30       push dword ptr fs:[eax]
  00676CDB  |.  64:8920       mov dword ptr fs:[eax],esp
  00676CDE  |.  8D55 F8       lea edx,[local.2]
  00676CE1  |.  8B83 FC020000 mov eax,dword ptr ds:[ebx+2FC]
  00676CE7  |.  E8 500CE1FF   call BB.0048793C                         ;  取注册码
  00676CEC  |.  8B45 F8       mov eax,[local.2]
  00676CEF  |.  8D55 FC       lea edx,[local.1]
  00676CF2  |.  E8 7D2BD9FF   call BB.00409874
  00676CF7  |.  8D4D E0       lea ecx,[local.8]
  00676CFA  |.  BA 02000000   mov edx,2
  00676CFF  |.  8B45 FC       mov eax,[local.1]
  00676D02  |.  E8 0DAEDCFF   call BB.00441B14
  00676D07  |.  8B45 E0       mov eax,[local.8]
  00676D0A  |.  8D55 E4       lea edx,[local.7]
  00676D0D  |.  E8 36FCFFFF   call BB.00676948                         ;  取前两位
  00676D12  |.  8D45 E4       lea eax,[local.7]
  00676D15  |.  8D55 F4       lea edx,[local.3]
  00676D18  |.  E8 9FFCFFFF   call BB.006769BC                         ;  计算MD5(注册码前两位)
  00676D1D  |.  8B45 F4       mov eax,[local.3]
  00676D20  |.  50            push eax
  00676D21  |.  8D55 E4       lea edx,[local.7]
  00676D24  |.  B8 BC6F6700   mov eax,BB.00676FBC                      ;  68
  00676D29  |.  E8 1AFCFFFF   call BB.00676948
  00676D2E  |.  8D45 E4       lea eax,[local.7]
  00676D31  |.  8D55 DC       lea edx,[local.9]
  00676D34  |.  E8 83FCFFFF   call BB.006769BC                         ;  计算MD5("68")
  00676D39  |.  8B55 DC       mov edx,[local.9]
  00676D3C  |.  58            pop eax
  00676D3D  |.  E8 1EE0D8FF   call BB.00404D60                         ;  取MD5(注册码前两位)与MD5("68")比较
  00676D42  |.  74 3F         je short BB.00676D83
  00676D44  |.  6A 30         push 30
  00676D46  |.  8D55 D8       lea edx,[local.10]
  00676D49  |.  A1 94D16800   mov eax,dword ptr ds:[68D194]
  00676D4E  |.  8B00          mov eax,dword ptr ds:[eax]
  00676D50  |.  E8 5F1EE3FF   call BB.004A8BB4
  00676D55  |.  8B45 D8       mov eax,[local.10]
  00676D58  |.  E8 B7E0D8FF   call BB.00404E14
  00676D5D  |.  8BC8          mov ecx,eax
  00676D5F  |.  BA C06F6700   mov edx,BB.00676FC0                      ;  注册码有误,请联系qq:1429635849
  00676D64  |.  A1 94D16800   mov eax,dword ptr ds:[68D194]
  00676D69  |.  8B00          mov eax,dword ptr ds:[eax]
  00676D6B  |.  E8 D024E3FF   call BB.004A9240
  00676D70  |.  8B83 FC020000 mov eax,dword ptr ds:[ebx+2FC]
  00676D76  |.  8B10          mov edx,dword ptr ds:[eax]
  00676D78  |.  FF92 C4000000 call dword ptr ds:[edx+C4]
  00676D7E  |.  E9 DB010000   jmp BB.00676F5E
  00676D83  |>  8B45 FC       mov eax,[local.1]
  00676D86  |.  E8 89DED8FF   call BB.00404C14
  00676D8B  |.  83F8 0A       cmp eax,0A                               ;  检查注册码是否为10位
  00676D8E  |.  74 3F         je short BB.00676DCF
  00676D90  |.  6A 30         push 30
  00676D92  |.  8D55 D4       lea edx,[local.11]
  00676D95  |.  A1 94D16800   mov eax,dword ptr ds:[68D194]
  00676D9A  |.  8B00          mov eax,dword ptr ds:[eax]
  00676D9C  |.  E8 131EE3FF   call BB.004A8BB4
  00676DA1  |.  8B45 D4       mov eax,[local.11]
  00676DA4  |.  E8 6BE0D8FF   call BB.00404E14
  00676DA9  |.  8BC8          mov ecx,eax
  00676DAB  |.  BA C06F6700   mov edx,BB.00676FC0                      ;  注册码有误,请联系qq:1429635849
  00676DB0  |.  A1 94D16800   mov eax,dword ptr ds:[68D194]
  00676DB5  |.  8B00          mov eax,dword ptr ds:[eax]
  00676DB7  |.  E8 8424E3FF   call BB.004A9240
  00676DBC  |.  8B83 FC020000 mov eax,dword ptr ds:[ebx+2FC]
  00676DC2  |.  8B10          mov edx,dword ptr ds:[eax]
  00676DC4  |.  FF92 C4000000 call dword ptr ds:[edx+C4]
  00676DCA  |.  E9 8F010000   jmp BB.00676F5E
  00676DCF  |>  8D55 C0       lea edx,[local.16]
  00676DD2  |.  A1 90F86800   mov eax,dword ptr ds:[68F890]
  00676DD7  |.  8B80 F8020000 mov eax,dword ptr ds:[eax+2F8]
  00676DDD  |.  E8 5A0BE1FF   call BB.0048793C                         ;  取机器码
  00676DE2  |.  8B45 C0       mov eax,[local.16]
  00676DE5  |.  E8 9631D9FF   call BB.00409F80
  00676DEA  |.  8BF0          mov esi,eax
  00676DEC  |.  B8 E86F6700   mov eax,BB.00676FE8                      ;  20100602
  00676DF1  |.  E8 8A31D9FF   call BB.00409F80
  00676DF6  |.  03F0          add esi,eax
  00676DF8  |.  8BC6          mov eax,esi
  00676DFA  |.  8D55 C4       lea edx,[local.15]
  00676DFD  |.  E8 4230D9FF   call BB.00409E44                         ;  机器码+20100602
  00676E02  |.  8B45 C4       mov eax,[local.15]
  00676E05  |.  8D4D C8       lea ecx,[local.14]
  00676E08  |.  BA 08000000   mov edx,8
  00676E0D  |.  E8 02ADDCFF   call BB.00441B14                         ;  取机器码+20100602结果前8位
  00676E12  |.  8B4D C8       mov ecx,[local.14]
  00676E15  |.  8D45 CC       lea eax,[local.13]
  00676E18  |.  BA BC6F6700   mov edx,BB.00676FBC                      ;  68
  00676E1D  |.  E8 3EDED8FF   call BB.00404C60
  00676E22  |.  8B45 CC       mov eax,[local.13]
  00676E25  |.  8D55 E4       lea edx,[local.7]
  00676E28  |.  E8 1BFBFFFF   call BB.00676948                         ;  取68&机器码+20100602结果前8位
  00676E2D  |.  8D45 E4       lea eax,[local.7]
  00676E30  |.  8D55 D0       lea edx,[local.12]
  00676E33  |.  E8 84FBFFFF   call BB.006769BC                         ;  MD5(68&(机器码+20100602结果前8位))
  00676E38  |.  8B45 D0       mov eax,[local.12]
  00676E3B  |.  50            push eax
  00676E3C  |.  8D55 E4       lea edx,[local.7]
  00676E3F  |.  8B45 FC       mov eax,[local.1]
  00676E42  |.  E8 01FBFFFF   call BB.00676948
  00676E47  |.  8D45 E4       lea eax,[local.7]
  00676E4A  |.  8D55 BC       lea edx,[local.17]
  00676E4D  |.  E8 6AFBFFFF   call BB.006769BC                         ;  68&假码32位MD5
  00676E52  |.  8B55 BC       mov edx,[local.17]
  00676E55  |.  58            pop eax
  00676E56  |.  E8 05DFD8FF   call BB.00404D60                         ;  将MD5(68&(机器码+20100602)前8位)与MD5(注册码)比较
  00676E5B  |.  74 3F         je short BB.00676E9C
  00676E5D  |.  6A 30         push 30
  00676E5F  |.  8D55 B8       lea edx,[local.18]
  00676E62  |.  A1 94D16800   mov eax,dword ptr ds:[68D194]
  00676E67  |.  8B00          mov eax,dword ptr ds:[eax]
  00676E69  |.  E8 461DE3FF   call BB.004A8BB4
  00676E6E  |.  8B45 B8       mov eax,[local.18]
  00676E71  |.  E8 9EDFD8FF   call BB.00404E14
  00676E76  |.  8BC8          mov ecx,eax
  00676E78  |.  BA C06F6700   mov edx,BB.00676FC0                      ;  注册码有误,请联系qq:1429635849
  00676E7D  |.  A1 94D16800   mov eax,dword ptr ds:[68D194]
  00676E82  |.  8B00          mov eax,dword ptr ds:[eax]
  00676E84  |.  E8 B723E3FF   call BB.004A9240
  00676E89  |.  8B83 FC020000 mov eax,dword ptr ds:[ebx+2FC]
  00676E8F  |.  8B10          mov edx,dword ptr ds:[eax]
  00676E91  |.  FF92 C4000000 call dword ptr ds:[edx+C4]
  00676E97  |.  E9 C2000000   jmp BB.00676F5E
  00676E9C  |>  A1 40CF6800   mov eax,dword ptr ds:[68CF40]
  00676EA1  |.  8B00          mov eax,dword ptr ds:[eax]
  00676EA3  |.  8B40 5C       mov eax,dword ptr ds:[eax+5C]
  00676EA6  |.  33D2          xor edx,edx
  00676EA8  |.  8B08          mov ecx,dword ptr ds:[eax]
  00676EAA  |.  FF91 78010000 call dword ptr ds:[ecx+178]
  00676EB0  |.  8D55 E4       lea edx,[local.7]
  00676EB3  |.  8B45 FC       mov eax,[local.1]
  00676EB6  |.  E8 8DFAFFFF   call BB.00676948
  00676EBB  |.  8D45 E4       lea eax,[local.7]
  00676EBE  |.  8D55 AC       lea edx,[local.21]
  00676EC1  |.  E8 F6FAFFFF   call BB.006769BC
  00676EC6  |.  8B45 AC       mov eax,[local.21]
  00676EC9  |.  8D55 B0       lea edx,[local.20]
  00676ECC  |.  E8 5B2AD9FF   call BB.0040992C
  00676ED1  |.  8B4D B0       mov ecx,[local.20]
  00676ED4  |.  8D45 B4       lea eax,[local.19]
  00676ED7  |.  BA FC6F6700   mov edx,BB.00676FFC                      ;  update xl set xl =
  00676EDC  |.  E8 7FDDD8FF   call BB.00404C60
  00676EE1  |.  8B45 B4       mov eax,[local.19]
  00676EE4  |.  50            push eax
  00676EE5  |.  A1 40CF6800   mov eax,dword ptr ds:[68CF40]
  00676EEA  |.  8B00          mov eax,dword ptr ds:[eax]
  00676EEC  |.  8B40 5C       mov eax,dword ptr ds:[eax+5C]
  00676EEF  |.  E8 303AFFFF   call BB.0066A924
  00676EF4  |.  5A            pop edx
  00676EF5  |.  8B08          mov ecx,dword ptr ds:[eax]
  00676EF7  |.  FF51 2C       call dword ptr ds:[ecx+2C]
  00676EFA  |.  A1 40CF6800   mov eax,dword ptr ds:[68CF40]
  00676EFF  |.  8B00          mov eax,dword ptr ds:[eax]
  00676F01  |.  8B40 5C       mov eax,dword ptr ds:[eax+5C]
  00676F04  |.  E8 4339FFFF   call BB.0066A84C
  00676F09  |.  33D2          xor edx,edx
  00676F0B  |.  8B83 F8020000 mov eax,dword ptr ds:[ebx+2F8]
  00676F11  |.  8B08          mov ecx,dword ptr ds:[eax]
  00676F13  |.  FF51 64       call dword ptr ds:[ecx+64]
  00676F16  |.  33D2          xor edx,edx
  00676F18  |.  8B83 FC020000 mov eax,dword ptr ds:[ebx+2FC]
  00676F1E  |.  8B08          mov ecx,dword ptr ds:[eax]
  00676F20  |.  FF51 64       call dword ptr ds:[ecx+64]
  00676F23  |.  33D2          xor edx,edx
  00676F25  |.  8B83 0C030000 mov eax,dword ptr ds:[ebx+30C]
  00676F2B  |.  8B08          mov ecx,dword ptr ds:[eax]
  00676F2D  |.  FF51 64       call dword ptr ds:[ecx+64]
  00676F30  |.  33D2          xor edx,edx
  00676F32  |.  8B83 10030000 mov eax,dword ptr ds:[ebx+310]
  00676F38  |.  8B08          mov ecx,dword ptr ds:[eax]
  00676F3A  |.  FF51 64       call dword ptr ds:[ecx+64]
  00676F3D  |.  BA 18706700   mov edx,BB.00677018                      ;  注册版本,感谢你的支持!
  00676F42  |.  8B83 14030000 mov eax,dword ptr ds:[ebx+314]
  00676F48  |.  E8 1F0AE1FF   call BB.0048796C
  00676F4D  |.  B8 3C706700   mov eax,BB.0067703C                      ;  注册成功,感谢您的支持
  00676F52  |.  E8 215FDCFF   call BB.0043CE78
  00676F57  |.  8BC3          mov eax,ebx
  00676F59  |.  E8 9AE8E2FF   call BB.004A57F8
  00676F5E  |>  33C0          xor eax,eax
  00676F60  |.  5A            pop edx
  00676F61  |.  59            pop ecx
  00676F62  |.  59            pop ecx
  00676F63  |.  64:8910       mov dword ptr fs:[eax],edx
  00676F66  |.  68 AD6F6700   push BB.00676FAD
  00676F6B  |>  8D45 AC       lea eax,[local.21]
  00676F6E  |.  BA 05000000   mov edx,5
  00676F73  |.  E8 00DAD8FF   call BB.00404978
  00676F78  |.  8D45 C0       lea eax,[local.16]
  00676F7B  |.  E8 D4D9D8FF   call BB.00404954
  00676F80  |.  8D45 C4       lea eax,[local.15]
  00676F83  |.  BA 08000000   mov edx,8
  00676F88  |.  E8 EBD9D8FF   call BB.00404978
  00676F8D  |.  8D45 F4       lea eax,[local.3]
  00676F90  |>  E8 BFD9D8FF   call BB.00404954
  00676F95  |.  8D45 F8       lea eax,[local.2]
  00676F98  |.  E8 B7D9D8FF   call BB.00404954
  00676F9D  |.  8D45 FC       lea eax,[local.1]
  00676FA0  |.  E8 AFD9D8FF   call BB.00404954
  00676FA5  \.  C3            retn
  
  经过分析可以看出来这个程序的MD5算法完全是个摆设,具体算法用VB语言实现就一句:
  
  注册码= 68 & Mid(机器码+20100602,1,8)
  
  用VB写个注册机,在 : http://www.52pojie.cn/viewthread.php?tid=50550&extra=
  
1.JPG

2.JPG

  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于null, 转载请注明作者并保持文章的完整, 谢谢!
                                                       2010年06月28日 AM 10:31:57

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

502613903 发表于 2010-6-28 19:25
不错啊,抢个沙发
qhd11 发表于 2010-6-28 20:09
tianxj 发表于 2010-6-28 20:24
9628 发表于 2010-6-28 20:49
谢谢分享。。。。。。
头像被屏蔽
fuxz2009 发表于 2010-6-28 21:17
高手,学习了!谢谢
头像被屏蔽
fuxz2009 发表于 2010-6-28 21:21
太简单了
tianxj 发表于 2010-6-28 20:24



    思路很重要,技术同样精彩
kala0513 发表于 2010-6-28 21:37
学习了,谢谢
Hmily 发表于 2010-6-30 17:18
第一篇主题分析文章,感谢分析,加精鼓励,期待更多作品!
GGLHY 发表于 2010-7-1 14:31
恩,学习了!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-12 06:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表