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

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

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


004010A5 push C0000000 ; |Access = GENERIC_READ|GENERIC_WRITE
004010AA push ex1401_.004020E5 ; |.Key
004010AF call <jmp.&kernel32.CreateFileA>; \CreateFileA
004010B4 mov dword ptr ds:,eax
004010B9 cmp dword ptr ds:,-1;比较是否存在.Key
004010C0 je ex1401_.00401158
004010C6 push 0; /pOverlapped = NULL
004010C8 push ex1401_.00402107 ; |pBytesRead = ex1401_.00402107
004010CD push 0A ; |BytesToRead = A (10.)
004010CF push ex1401_.004020F3 ; |Buffer = ex1401_.004020F3
004010D4 push dword ptr ds:; |hFile = NULL
004010DA call <jmp.&kernel32.ReadFile> ; \ReadFile
004010DF test eax,eax
004010E1 je short ex1401_.00401158
004010E3 push 0; /pOverlapped = NULL
004010E5 push ex1401_.00402107 ; |pBytesRead = ex1401_.00402107
004010EA push 0A ; |BytesToRead = A (10.)
004010EC push ex1401_.004020FD ; |Buffer = ex1401_.004020FD
004010F1 push dword ptr ds:; |hFile = NULL
004010F7 call <jmp.&kernel32.ReadFile> ; \ReadFile
004010FC test eax,eax
004010FE je short ex1401_.00401158
00401100 push dword ptr ds:; /hObject = NULL
00401106 call <jmp.&kernel32.CloseHandle>; \CloseHandle
0040110B xor eax,eax
0040110D jmp short ex1401_.00401113
0040110F leave
00401110 retn 10
00401113 xor byte ptr ds:,58 ;文件内容每一位 xor 58
0040111A inc eax
0040111B cmp byte ptr ds:,0
00401122 jnz short ex1401_.00401113
00401124 push ex1401_.004020F3 ; /String2 = ""
00401129 push ex1401_.004020FD ; |String1 = ""
0040112E call <jmp.&kernel32.lstrcmp>; \lstrcmpA
00401133 cmp eax,0 ;结果为0就注册成功
00401136 je short ex1401_.0040113E
00401138 jmp short ex1401_.00401158
0040113A leave
0040113B retn 10
0040113E push 1000 ; /Style = MB_OK|MB_SYSTEMMODAL
00401143 push ex1401_.00402026 ; |OfficialCrackme
00401148 push ex1401_.004020BF ; |注册验证成功,恭喜您成功破解了这个程序
0040114D push 0; |hOwner = NULL
0040114F call <jmp.&user32.MessageBoxA>; \MessageBoxA
00401154 leave
00401155 retn 10
00401158 push 1000 ; /Style = MB_OK|MB_SYSTEMMODAL
0040115D push ex1401_.00402026 ; |OfficialCrackme
00401162 push ex1401_.00402083 ; |革命尚未成功,破解者仍需努力阿。^_^ GOOD

LUCK!
00401167 push 0; |hOwner = NULL
00401169 call <jmp.&user32.MessageBoxA>; \MessageBoxA
--------------------------------------------------------------------------------
1, 注册文件为.Key
2, 文件内容每一位 xor 58,结果为0就注册成功
3, 比如.Key的内容为XXXXX即可成功
页: [1]
查看完整版本: 来吧,算法入门连载(四) 冷血书生