冷血书生 发表于 2006-11-22 11:39:37

Cruehead's Crackme 1 简单分析

【破解日期】 2006年11月22日
【破解作者】 冷血书生
【作者邮箱】 meiyou
【作者主页】 hxxp://www.126sohu.com/
【使用工具】 OD
【破解平台】 Win9x/NT/2000/XP
【软件名称】 Cruehead's Crackme 1
【下载地址】 本地
【软件大小】 12k
【加壳方式】 无
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
------------------------------------------------------------------------

--------
【破解内容】


00401223   cmp eax,0                                 ; 与0比较
00401226   je short CRACKME.004011E6                   ; 不输入注册信息自

然就OVER
00401228   push CRACKME.0040218E                     ; 用户名
0040122D   call CRACKME.0040137E                     ; 处理用户名
00401232   push eax
00401233   push CRACKME.0040217E                     ;
00401238   call CRACKME.004013D8                     ; 处理注册码
0040123D   add esp,4
00401240   pop eax
00401241   cmp eax,ebx                                 ; 比较
00401243   je short CRACKME.0040124C                   ; 必须跳,不跳就OVER
00401245   call CRACKME.00401362
0040124A   jmp short CRACKME.004011E6
0040124C   call CRACKME.0040134D                     ; 注册成功
00401251   jmp short CRACKME.004011E6

/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////

0040137E   mov esi,dword ptr ss:
00401382   push esi
00401383   mov al,byte ptr ds:
00401385   test al,al
00401387   je short CRACKME.0040139C
00401389   cmp al,41
0040138B   jb short CRACKME.004013AC
0040138D   cmp al,5A
0040138F   jnb short CRACKME.00401394
00401391   inc esi
00401392   jmp short CRACKME.00401383
00401394   call CRACKME.004013D2
00401399   inc esi
0040139A   jmp short CRACKME.00401383                  ; 用户名小写转大写
0040139C   pop esi
0040139D   call CRACKME.004013C2                     ; 用户名累加
004013A2   xor edi,5678                              ; edi xor 5678
004013A8   mov eax,edi
004013AA   jmp short CRACKME.004013C1
004013AC   pop esi
004013AD   push 30
004013AF   push CRACKME.00402160                     ; No luck!
004013B4   push CRACKME.00402169                     ; No luck there, mate!
004013B9   push dword ptr ss:
004013BC   call <jmp.&USER32.MessageBoxA>
004013C1   retn

/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////


004013D8   xor eax,eax
004013DA   xor edi,edi
004013DC   xor ebx,ebx
004013DE   mov esi,dword ptr ss:
004013E2   mov al,0A                                 ; al=A
004013E4   mov bl,byte ptr ds:
004013E6   test bl,bl
004013E8   je short CRACKME.004013F5
004013EA   sub bl,30                                 ;
004013ED   imul edi,eax                              ; edi*eax
004013F0   add edi,ebx                                 ; edi+ebx
004013F2   inc esi
004013F3   jmp short CRACKME.004013E2
004013F5   xor edi,1234                              ; edi xor 1234
004013FB   mov ebx,edi
004013FD   retn

/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////

小结:

典型的F(用户名)=F(注册码)

注册信息:

name: leng
code: 17770
------------------------------------------------------------------------

--------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

brian802233 发表于 2006-11-22 13:11:02

学习了~~~~~~~~~~~:lol:
页: [1]
查看完整版本: Cruehead's Crackme 1 简单分析