飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2852|回复: 4

转个Crackmes.de的一个汇编语言CrackMe给大家分析算法~

[复制链接]
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2006-7-16 15:04:50 | 显示全部楼层 |阅读模式
    还在玩~

    00401919   > \68 7C774000   PUSH crackme.0040777C                    ;  ASCII "af1e494562deb831663ab217648d4b04"
    0040191E   .  E8 D5010000   CALL crackme.00401AF8
    00401923   .  8945 E4       MOV DWORD PTR SS:[EBP-1C],EAX            ;  EAX=12340000
    00401926   .  68 7C774000   PUSH crackme.0040777C                    ; /String = "af1e494562deb831663ab217648d4b04"
    0040192B   .  E8 D00C0000   CALL <JMP.&KERNEL32.lstrlenA>            ; \lstrlenA
    00401930   .  68 7F7A4000   PUSH crackme.00407A7F                    ; /取位数~
    00401935   .  50            PUSH EAX                                 ; |Arg2
    00401936   .  68 7C774000   PUSH crackme.0040777C                    ; |Arg1 = 0040777C ASCII "af1e494562deb831663ab217648d4b04"
    0040193B   .  E8 E3020000   CALL crackme.00401C23                    ; \crackme.00401C23
    00401940   .  B8 7C774000   MOV EAX,crackme.0040777C                 ;  ASCII "af1e494562deb831663ab217648d4b04"
    00401945   .  8B00          MOV EAX,DWORD PTR DS:[EAX]               ;  一组什么码出来的呀???
    00401947   .  35 0260F62F   XOR EAX,2FF66002                         ;  EAX与0x2FF66002异或
    0040194C   .  8945 E8       MOV DWORD PTR SS:[EBP-18],EAX            ;  结果放[EBP-18]
    0040194F   .  68 01010000   PUSH 101                                 ; /Count = 101 (257.)
    00401954   .  68 7D784000   PUSH crackme.0040787D                    ; |Buffer = crackme.0040787D
    00401959   .  6A 0B         PUSH 0B                                  ; |ControlID = B (11.)
    0040195B   .  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hWnd
    0040195E   .  E8 010C0000   CALL <JMP.&user32.GetDlgItemTextA>       ; \GetDlgItemTextA
    00401963   .  05 39050000   ADD EAX,539                              ;  取试练码的位数加上0x539
    00401968   .  35 ADDE0000   XOR EAX,0DEAD                            ;  再与0x0DEAD异或~
    0040196D   .  2D AD0B0000   SUB EAX,0BAD                             ;  结果减去0x0BAD
    00401972   .  05 DEC00000   ADD EAX,0C0DE                            ;  再加上0xC0DE
    00401977   .  35 78563412   XOR EAX,12345678                         ;  再与0x12345678异或~晕!
    0040197C   .  3D 5AC73512   CMP EAX,1235C75A                         ;  结果与0x1235C75A比较
    00401981   .  0F85 D0000000 JNZ crackme.00401A57                     ;  不等挂~
    00401987   .  802D 85784000>SUB BYTE PTR DS:[407885],2D
    0040198E   .  0F85 C3000000 JNZ crackme.00401A57
    00401994   .  802D 8E784000>SUB BYTE PTR DS:[40788E],2D
    0040199B   .  0F85 B6000000 JNZ crackme.00401A57
    004019A1   .  802D 97784000>SUB BYTE PTR DS:[407897],2D
    004019A8   .  0F85 A9000000 JNZ crackme.00401A57
    004019AE   .  68 98784000   PUSH crackme.00407898
    004019B3   .  E8 40010000   CALL crackme.00401AF8
    004019B8   .  A3 68774000   MOV DWORD PTR DS:[407768],EAX
    004019BD   .  68 8F784000   PUSH crackme.0040788F
    004019C2   .  E8 31010000   CALL crackme.00401AF8
    004019C7   .  A3 64774000   MOV DWORD PTR DS:[407764],EAX
    004019CC   .  68 86784000   PUSH crackme.00407886
    004019D1   .  E8 22010000   CALL crackme.00401AF8
    004019D6   .  A3 60774000   MOV DWORD PTR DS:[407760],EAX
    004019DB   .  68 7D784000   PUSH crackme.0040787D                    ;  ASCII "98765"
    004019E0   .  E8 13010000   CALL crackme.00401AF8
    004019E5   .  A3 5C774000   MOV DWORD PTR DS:[40775C],EAX            ;  试练码EAX=98760000
    004019EA   .  35 93CD6B34   XOR EAX,346BCD93                         ;  试练码与0x346BCD93异或~
    004019EF   .  2D DEC0AD0B   SUB EAX,0BADC0DE                         ;  减去0x0BADCDE
    004019F4   .  74 61         JE SHORT crackme.00401A57                ;  相等就挂~
    004019F6   .  05 DEC0AD0B   ADD EAX,0BADC0DE                         ;  EAX加上0x0BADC0DE
    004019FB   .  35 93CD6B34   XOR EAX,346BCD93                         ;  与0x346BCD93异或~
    00401A00   .  35 6C6F7264   XOR EAX,64726F6C                         ;  再与0x64726F6C异或~
    00401A05   .  2D EFBEADDE   SUB EAX,DEADBEEF                         ;  减去0xDEADBEEF
    00401A0A   .  75 4B         JNZ SHORT crackme.00401A57               ;  跳就挂~
    00401A0C   .  A1 60774000   MOV EAX,DWORD PTR DS:[407760]            ;  用户名进EAX
    00401A11   .  2B45 E4       SUB EAX,DWORD PTR SS:[EBP-1C]            ;  EAX减去[EBP-1C]
    00401A14   .  3D 02600620   CMP EAX,20066002                         ;  结果与0x20066002比较~
    00401A19   .  75 3C         JNZ SHORT crackme.00401A57               ;  不等挂~
    00401A1B   .  A1 64774000   MOV EAX,DWORD PTR DS:[407764]
    00401A20   .  3345 E8       XOR EAX,DWORD PTR SS:[EBP-18]
    00401A23   .  68 DE1B4000   PUSH crackme.00401BDE                    ;  SE 处理程序安装
    00401A28   .  64:FF35 00000>PUSH DWORD PTR FS:[0]
    00401A2F   .  64:8925 00000>MOV DWORD PTR FS:[0],ESP
    00401A36   .  FFD0          CALL EAX                                 ;  Call进比较~标志位回送~
    00401A38   .  64:8F05 00000>POP DWORD PTR FS:[0]
    00401A3F   .  83C4 04       ADD ESP,4
    00401A42   .  0BC0          OR EAX,EAX
    00401A44   .  75 11         JNZ SHORT crackme.00401A57               ;  还跳就挂~这么多的检测~~~
    00401A46   .  68 71724000   PUSH crackme.00407271                    ; /congratulations, cracker!
    00401A4B   .  6A 0B         PUSH 0B                                  ; |ControlID = B (11.)
    00401A4D   .  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hWnd
    00401A50   .  E8 4B0B0000   CALL <JMP.&user32.SetDlgItemTextA>       ; \SetDlgItemTextA
    00401A55   .  EB 0F         JMP SHORT crackme.00401A66
    00401A57   >  68 8B724000   PUSH crackme.0040728B                    ; /try harder, m8!
    00401A5C   .  6A 0B         PUSH 0B                                  ; |ControlID = B (11.)
    00401A5E   .  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hWnd
    00401A61   .  E8 3A0B0000   CALL <JMP.&user32.SetDlgItemTextA>       ; \SetDlgItemTextA
    00401A66   >  C9            LEAVE
    00401A67   .  C2 1000       RETN 10

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-16 16:04:49 | 显示全部楼层
    支持。。。。。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-17 15:21:31 | 显示全部楼层
    咋一看似乎是MD5算法...
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

     楼主| 发表于 2006-7-18 19:16:21 | 显示全部楼层
    原帖由 黑夜彩虹 于 2006-7-17 15:21 发表
    咋一看似乎是MD5算法...


    晕!不要吓我~咱还不会MD5! :L
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-2-26 08:32
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    发表于 2006-7-18 20:41:26 | 显示全部楼层

    黑夜彩虹 版主说得有道理

    00401C77  |.  C706 5B205245 mov     dword ptr [esi], 4552205B
    00401C7D  |.  C746 04 56454>mov     dword ptr [esi+4], 474E4556
    00401C84  |.  C746 08 45204>mov     dword ptr [esi+8], 72432045
    00401C8B  |.  C746 0C 65772>mov     dword ptr [esi+C], 5D207765

    猫兄上面可能是MD5的4个常数,非标准的。
    wzwgp经过上面加密=ad7e59d81d8c8c742539cd1c76466726
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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