小黑冰 发表于 2008-8-28 09:31

来吧,算法入门连载(十) 冷血书生

来吧,算法入门连载(十)
[ 录入者:admin | 时间:2008-03-13 07:55:49 | 作者:冷血书生 | 来源:http://www.crack520.cn | 浏览:177次 ]
【破解日期】 2007年2月8日
【破解作者】 冷血书生
【作者邮箱】 meiyou
【作者主页】 http://www.crack520.cn
【使用工具】 OD
【破解平台】 Win9x/NT/2000/XP
【软件名称】 xikug's Crackme
【下载地址】
【软件大小】 164kb
【加壳方式】 无
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】


004545B7 mov eax,dword ptr ss:
004545BA call CrackMe.00404118
004545BF cmp eax,8
004545C2 jge short CrackMe.004545DA
004545C4 mov ecx,CrackMe.00454750; 用户名不能小于8位!
004545C9 mov dl,1
004545CB mov eax,dword ptr ds:
004545D0 call CrackMe.0040B510
004545D5 call CrackMe.00403894
004545DA mov eax,dword ptr ss:
004545DD call CrackMe.00404118
004545E2 cmp eax,8
004545E5 jge short CrackMe.004545FD
004545E7 mov ecx,CrackMe.0045476C; 注册码不能小于8位!
004545EC mov dl,1
004545EE mov eax,dword ptr ds:
004545F3 call CrackMe.0040B510
004545F8 call CrackMe.00403894
004545FD mov eax,dword ptr ss:
00454600 call CrackMe.00404118
00454605 cmp eax,12
00454608 jle short CrackMe.00454620
0045460A mov ecx,CrackMe.00454788; 注册码不能大于18位!
0045460F mov dl,1
00454611 mov eax,dword ptr ds:
00454616 call CrackMe.0040B510
0045461B call CrackMe.00403894
00454620 xor eax,eax
00454622 push ebp
00454623 push CrackMe.00454646
00454628 push dword ptr fs:
0045462B mov dword ptr fs:,esp
0045462E mov eax,dword ptr ss:
00454631 call CrackMe.00408104
00454636 mov dword ptr ss:,eax
00454639 mov dword ptr ss:,edx
0045463C xor eax,eax
0045463E pop edx
0045463F pop ecx
00454640 pop ecx
00454641 mov dword ptr fs:,edx
00454644 jmp short CrackMe.00454666
00454646 jmp CrackMe.004035A8
0045464B mov ecx,CrackMe.004547A4; 注册码应为0-9之间的字符组成!
00454650 mov dl,1
00454652 mov eax,dword ptr ds:
00454657 call CrackMe.0040B510
0045465C call CrackMe.00403894
00454661 call CrackMe.00403910
00454666 xor eax,eax
00454668 push ebp
00454669 push CrackMe.00454694
0045466E push dword ptr fs:
00454671 mov dword ptr fs:,esp
00454674 mov ecx,CrackMe.004547CC; 注册失败!
00454679 mov dl,1
0045467B mov eax,dword ptr ds:
00454680 call CrackMe.0040B510
00454685 call CrackMe.00403894
0045468A xor eax,eax
0045468C pop edx
0045468D pop ecx
0045468E pop ecx
0045468F mov dword ptr fs:,edx
00454692 jmp short CrackMe.00454706
00454694 jmp CrackMe.004036D4
00454699 add dword ptr ds:,eax
0045469B add byte ptr ds:,al
0045469D sub byte ptr ss:,al
004546A0 add byte ptr ss:,ah
004546A6 inc ebp
004546A7 lock push eax ; 不允许锁定前缀
004546A9 mov eax,dword ptr ss:
004546AC push eax
004546AD lea eax,dword ptr ss:
004546B0 call CrackMe.0045415C
004546B5 mov eax,dword ptr ss:
004546B8 push eax
004546B9 lea edx,dword ptr ss:
004546BC push edx
004546BD mov eax,dword ptr ds:
004546BF call dword ptr ds: ; 算法call
004546C2 mov eax,dword ptr ss: ; eax保存结果
004546C5 push eax
004546C6 push 0
004546C8 push FFAA6600 ; FFAA6600压栈
004546CD lea edx,dword ptr ss:
004546D0 mov eax,2
004546D5 call CrackMe.00408060
004546DA mov edx,dword ptr ss: ; FFAA6600
004546DD pop eax
004546DE call CrackMe.00404264 ; 经典比较
004546E3 jnz short CrackMe.004546FC
004546E5 push 0
004546E7 mov cx,word ptr ds:
004546EE mov dl,2
004546F0 mov eax,CrackMe.004547E4; 恭喜!注册成功!
004546F5 call CrackMe.0042758C
004546FA jmp short CrackMe.00454701
004546FC call CrackMe.004038BC
00454701 call CrackMe.00403910


跟进算法call


00454204 xor eax,eax
00454206 push ebp
00454207 push CrackMe.00454264
0045420C push dword ptr fs:
0045420F mov dword ptr fs:,esp
00454212 xor ebx,ebx
00454214 mov eax,dword ptr ss:
00454217 call CrackMe.00404118
0045421C test eax,eax
0045421E jle short CrackMe.00454238
00454220 mov edx,1
00454225 mov ecx,dword ptr ss:
00454228 movzx ecx,byte ptr ds: ; 依次取用户名ASCII值
0045422D shl ebx,2 ; ebx左移2位
00454230 add ecx,ebx ; 累加
00454232 mov ebx,ecx ; 结果保存到ebx
00454234 inc edx
00454235 dec eax
00454236 jnz short CrackMe.00454225
00454238 add ebx,dword ptr ss: ; ebx+假码
0045423B mov eax,ebx ; eax保存结果
0045423D xor edx,edx

zsoyo 发表于 2008-10-13 22:33

谢谢了,全部收藏;
页: [1]
查看完整版本: 来吧,算法入门连载(十) 冷血书生