好友
阅读权限30
听众
最后登录1970-1-1
|
小黑冰
发表于 2008-8-28 09:30
来吧,算法入门连载(二)
[ 录入者:admin | 时间:2008-02-13 00:21:29 | 作者:冷血书生 | 来源:www.crack520.cn | 浏览:119次 ]
【破解日期】 2007年2月9日
【破解作者】 冷血书生
【作者邮箱】 meiyou
【作者主页】 http://www.crack520.cn
【使用工具】 OD
【破解平台】 Win9x/NT/2000/XP
【软件名称】 BKSY's Crackme
【下载地址】
【软件大小】 4kb
【加壳方式】 无
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
004010A4 push dword ptr ss:[ebp+8]
004010A7 call <jmp.&user32.GetDlgItemTextA>; 获得用户名长度
004010AC mov ebx,eax
004010AE push 64
004010B0 push 29.0040306C
004010B5 push 3ED
004010BA push dword ptr ss:[ebp+8]
004010BD call <jmp.&user32.GetDlgItemTextA>; 获得注册码长度
004010C2 cmp eax,ebx ; 用户名和注册码长度必须相等
004010C4 jnz short 29.004010F6
004010C6 mov ecx,29.004010CF ; ASCII "衕l0@"
004010CB inc ecx
004010CC jmp ecx
004010CE mov eax,306C68D0
004010D3 inc eax
004010D4 add byte ptr ds:[eax+8],ch
004010D7 xor byte ptr ds:[eax],al
004010DA call 29.00401000; 算法call
004010DF cmp eax,1
004010E2 jnz short 29.004010F6
004010E4 push 29.00402030; U R good Cracker ^_^
004010E9 push 3ED
004010EE push dword ptr ss:[ebp+8]
004010F1 call <jmp.&user32.SetDlgItemTextA>
004010F6 jmp short 29.0040115D
004010F8 cmp eax,110
004010FD jnz short 29.00401122
004010FF mov eax,29.004030D0 ; PMMZECH
00401104 jmp short 29.0040110A
00401106 sub byte ptr ds:[eax],1
00401109 inc eax
0040110A cmp byte ptr ds:[eax],0
0040110D jnz short 29.00401106
0040110F push 0
00401111 push 3E8
00401116 push 1
00401118 push dword ptr ss:[ebp+8]
0040111B call <jmp.&user32.SetTimer>
00401120 jmp short 29.0040115D
00401122 cmp eax,113
00401127 jnz short 29.00401151
00401129 push 0
0040112B push 29.004030D0; PMMZECH
00401130 call <jmp.&user32.FindWindowA>
00401135 mov dword ptr ds:[403004],eax
0040113A or eax,eax
跟进算法call
00401000 push ebp
00401001 mov ebp,esp
00401003 push ebx
00401004 push edi
00401005 push esi
00401006 mov eax,dword ptr ss:[ebp+8]
00401009 mov ebx,dword ptr ss:[ebp+C]
0040100C jmp short 29.00401025
0040100E movzx edi,byte ptr ds:[eax] ; 取用户名ASCII值
00401011 movzx esi,byte ptr ds:[ebx] ; 取注册码ASCII值
00401014 inc edi ; edi+1
00401015 dec esi ; esi-1
00401016 cmp edi,esi
00401018 je short 29.00401023
0040101A xor eax,eax
0040101C pop esi
0040101D pop edi
0040101E pop ebx
0040101F leave
00401020 retn 8
00401023 inc eax
00401024 inc ebx
00401025 cmp byte ptr ds:[eax],0
00401028 jnz short 29.0040100E
0040102A mov eax,1
0040102F pop esi
00401030 pop edi
00401031 pop ebx
00401032 leave
00401033 retn 8
--------------------------------------------------------------------------------
超简单算法:
1, 用户名和注册码长度必须相等 -> 什么都不输入也提示注册成功^_^(因为条件符合)
2, 注册码=用户名ASCII值+2
name: leng
code: ngpi |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|