欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

我来简单分析一下冷雨飘心大哥的crackme。给没能破出来的朋友指点一下。 (4千字)

我来简单分析一下冷雨飘心大哥的crackme。给没能破出来的朋友指点一下。 (4千字)

[
冷雨飘心大哥crackme的注册机都出来了,我来简单分析一下。
给没能破出来的朋友提醒一下:
* Referenced  to: user32.sengMessageA,ord:0210h
********    call        00401d04
********    or          eax,eax
********    je          00401389
....
....        mov        al,10  \
....        add        al,1D  /al==2D
....
********    repnz      scasb  -- 搜是否有‘-’
********    jne        0040129c -- 没有跳,所以注册码中要有‘-’。
********    mov        eax,dword ptr [004031BB]
********    xor        eax,4743435F --eax中为注册码倒置的前四位和
                                      GCC_“比较”,填_CCG-123456789
********    jne        004012A4                     
********    lea        esi, dword  ptr  [004031BB]
********    add        esi, 00000005  --除去注册码前5位移入esi
********    call        call 0040172F  --F8进入
********    xor        eax,FFFFFFF
********    je          004012A4
来到:
0040172F    push        esi
....
....
********    mov        ecx,00000007  --循环7次
....
....
********    cmp        al,30      \
********    jb          0040174c    |
********    cmp        al,46      |是否在0-F,否则死
********    ja          0040174c  /
********    cmp        al,40      \     
********    ja          00401750  /A-F跳
********    cmp        al,3A      \
********    jb          00401750  /0-9跳
* Referenced  by  a (U)nconditional  or  (C)onditional  Jump at 
Address:
00401750    cmp        al,41    \
********    jb          00401756  /0-9跳
********    sub        al,07
 
* Referenced  by  a (U)nconditional  or  (C)onditional  Jump at 
Address:
00401756    sub        al,30
********    and        al,0F
********    and        bl,al
********    shl        ebx,04
********    loop        0040173B  --将注册码6-12位移入ebx
....
********    cmp        al,31      \比较第13位
********    jb          00401772    |
********    cmp        al,46      |
********    ja          00401772    |是否在1-F,否则死
********    cmp        al,40      |     
********    ja          00401776    |A-F跳
********    cmp        al,3A      |
********    jb          00401776  / 0-9跳
* Referenced  by  a (U)nconditional  or  (C)onditional  Jump at 
Address:
00401776    cmp        al,41    --0-9跳
********    jb          0040177C
0040177A    sub        al,07
* Referenced  by  a (U)nconditional  or  (C)onditional  Jump at 
Address:
0040177C    sub        al,07
********    and        al,0F
********    and        bl,al
********    mov        eax,ebx
********    jmp        0040178B  --跳过00401786

* Referenced  by  a (U)nconditional  or  (C)onditional  Jump at 
Address:
00401786    mov        eax,FFFFFFFF
跳出call,接下来来到:
********    lea        esi, dword  ptr  [004031BB]
********    add        esi, 0000000E  --除去注册码前14位移入esi
********    call        call 0040172F  --跟前面的call一样。
                                      重填注册码_CCG-123456789ABCDEF12
********    xor        eax,FFFFFFF
********    je          004012A4
  ....
********    mov        eax,dword ptr [004030E3]  --12345678
********    mov        edx,dword ptr [004030E7]  --ABCDEF12
********    call        00401636  --关键的call。
                                  由于本人太懒,不想循环的算,
                                  所以还是写个算法比较干脆,
                                  幸好伪大哥写了,大家参考一下吧。
********    mov        eax,dword ptr [004030EB]  --算出的前四位
********    mov        eax,dword ptr [004030EF]  --后几位
********    xor        eax,dword ptr [004030DB]  --注册名算出的注册
                                                    码前四位‘比较’
                                                                   
********    jne        004012A4
********    xor        eax,dword ptr [004030DF]
********    jne        004012A4  后几位比较
********    jmp        004012BD  --不要以为成功了^__^
* Referenced  by  a (U)nconditional  or  (C)onditional  Jump at 
Address:
  ....
********    mov        al, byte ptr [esi+04]
********    sub        al,0D
********    cmp        al,20  --第五位是否为‘-’
********    jne        004012A4
********    mov        al, byte ptr [esi+0D]
********    cmp        al,2D  --第14位是否为‘-’
********    jne        004012A4
********    jmp        004012AC  success!!
接下来可以欣赏美丽的画面了。(真的好看!!)
整理一下注册码的格式为:_CCG-XXXXXXXX-XXXXXXXX

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功