diablo2002’s crackme1算法分析[1]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 bmd2chen 的 blog

 
【目     标】:diablo2002’s crackme1
【工     具】:ida
【任     务】:算法分析
【操作平台】:win2003
【作     者】: loveboom[dfcg][fcg][us]
【相关链接】: ......
【简要说明】: 一个非常简单的crackme入门级的,以前没有试过用ida分析东西,今天开始试着用ida分析。
【详细过程】:
该crackme是masm32写的,所以非常直观的找到关键处,直接静态分析就可以写出注册机的,分析如下:
.text:00401227                 jnz     loc_4013bb
.text:0040122d                 mov     eax, [ebp+wparam]         ; case eax==wm_command
.text:00401230                 cmp     ax, 3
.text:00401234                 jnz     loc_4013d0
.text:0040123a                 shr     eax, 10h
.text:0040123d                 or      ax, ax
.text:00401240                 jnz     loc_4013b9
.text:00401246                 xor     eax, eax                  ; 准备获取用户名
.text:00401248                 push    28h                       ; nmaxcount
.text:0040124a                 push    offset name_szbuffer      ; lpstring
.text:0040124f                 push    2                         ; niddlgitem
.text:00401251                 push    [ebp+hwnd]                ; hdlg
.text:00401254                 call    getdlgitemtexta
.text:00401259                 test    al, al
.text:0040125b                 jz      name_isempty              ; 比较用户名是长是否为0
.text:00401261                 cmp     al, 20h                   ; 用户名长度是否大于20h
.text:00401263                 jg      name_tolong
.text:00401269                 cmp     al, 5                     ; 比较用户名长度是否小于5
.text:0040126b                 jl      name_istoshort
.text:00401271                 lea     ebx, ds:40318ch           ; 取出保存用户名的地址到ebx中
.text:00401277                 xor     ecx, ecx

本文关键:diablo2002’s crackme1算法分析
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top