飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4081|回复: 0

[原创] 一个间单CrackMe的算法分析

[复制链接]
  • TA的每日心情
    开心
    2016-11-4 23:26
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2011-2-15 19:30:39 | 显示全部楼层 |阅读模式
    本帖最后由 sdrf5678lk 于 2011-2-15 19:48 编辑

    00401025  |> \8B75 08       MOV ESI,DWORD PTR SS:[EBP+8]             ;  把用户名放esi中
    00401028  |.  8D7D D8       LEA EDI,DWORD PTR SS:[EBP-28]            ;  把有效地址传送给EDI
    0040102B  |.  33C9          XOR ECX,ECX                              ;  ECX清0为下方计算准备
    0040102D  |.  8B45 0C       MOV EAX,DWORD PTR SS:[EBP+C]             ;  把用户名位数存到EAX中
    00401030  |.  C60438 00     MOV BYTE PTR DS:[EAX+EDI],0
    00401034  |.  EB 0A         JMP SHORT CrackMe.00401040
    00401036  |>  0FB60431      /MOVZX EAX,BYTE PTR DS:[ECX+ESI]         ;  循环取出用户名中的一个字符
    0040103A  |.  04 01         |ADD AL,1                                ;  把字符的转化16进制数加1
    0040103C  |.  880439        |MOV BYTE PTR DS:[ECX+EDI],AL            ;  在把结果存到DS:[ECX+EDI]内存中
    0040103F  |.  41            |INC ECX                                 ;  ECX 加1
    00401040  |>  3B4D 0C        CMP ECX,DWORD PTR SS:[EBP+C]            ;  看是不是已经取完了
    00401043  |.^ 72 F1         \JB SHORT CrackMe.00401036
    00401045  |.  FF75 10       PUSH DWORD PTR SS:[EBP+10]               ; /假注册码
    00401048  |.  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]            ; |真注册码
    0040104B  |.  50            PUSH EAX                                 ; |String1
    0040104C  |.  E8 47030000   CALL <JMP.&kernel32.lstrcmpA>            ; \比较
    00401051  |.  0BC0          OR EAX,EAX
    00401053  |.  75 15         JNZ SHORT CrackMe.0040106A
    00401055  |.  6A 00         PUSH 0                                   ; /Style = MB_OK|MB_APPLMODAL
    00401057  |.  68 30304000   PUSH CrackMe.00403030                    ; |Title = "提示"
    0040105C  |.  68 46304000   PUSH CrackMe.00403046                    ; |Text = "恭蟎xB2你?xAC\xD7\xA2\xB2岢晒\xA6?xA1"
    00401061  |.  6A 00         PUSH 0                                   ; |hOwner = NULL
    00401063  |.  E8 EE020000   CALL <JMP.&user32.MessageBoxA>           ; \MessageBoxA
    00401068  |.  EB 13         JMP SHORT CrackMe.0040107D
    0040106A  |>  6A 00         PUSH 0                                   ; /Style = MB_OK|MB_APPLMODAL
    0040106C  |.  68 30304000   PUSH CrackMe.00403030                    ; |Title = "提示"
    00401071  |.  68 59304000   PUSH CrackMe.00403059                    ; |Text = "\xD7\xA2\xB2崾?xB0埽\xAC请继续臷xAC羂xA6?xA1"
    00401076  |.  6A 00         PUSH 0                                   ; |hOwner = NULL
    00401078  |.  E8 D9020000   CALL <JMP.&user32.MessageBoxA>           ; \MessageBoxA
    0040107D  |>  33C0          XOR EAX,EAX
    0040107F  |.  5F            POP EDI
    00401080  |.  C9            LEAVE
    00401081  \.  C2 1400       RETN 14
    \****************************************************************************************************\

    我已经把CrackMe放到了我看雪帐号上了。
    http://bbs.pediy.com/showthread.php?t=129350
    要想研究的去看上去雪下吧
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表