飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 36488|回复: 42

[原创] 两个CrackMe献给PYG 5.4 Cracker! ---- By PiaoYun[PYG]

[复制链接]
  • TA的每日心情
    难过
    7 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2006-5-31 01:04:45 | 显示全部楼层 |阅读模式
    程序会提示你,该怎么做~~~

    呵呵~~ 基本是爆破了~

    PYG成员在10天内不得给予提示```

    本帖子中包含更多资源

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

    x
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2006-5-31 09:13:39 | 显示全部楼层
    原帖由 飘云 于 2006-5-31 01:04 发表
    程序会提示你,改怎么做~~~

    呵呵~~ 基本是爆破了~

    成员在10天内不得给予提示```


    感动ing!

    谢谢老大!

    +++++++++++++++++++++

    印象中好像是程序多开。。。

    [ 本帖最后由 野猫III 于 2006-5-31 18:26 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-5-31 09:15:57 | 显示全部楼层
    呵呵,好东西。。。。。。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-5-31 09:16:21 | 显示全部楼层
    谢老大 努力去!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-5-31 09:58:13 | 显示全部楼层
    第二个解决了。。。。。。。。。。。。。
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2016-8-5 17:44
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2006-5-31 11:44:08 | 显示全部楼层
    谢谢老大,下来玩玩
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-5-31 12:47:44 | 显示全部楼层
    偶发个CrackMe #3 For PYG5.4 Cracker的吧;/:D可能跟要求有出入.

    1. * Reference To: kernel32.kernel32.dll, Ord:748Dh
    2.                                   |
    3. :00401020 FF1508504000            Call dword ptr [00405008]
    4. :00401026 8BF0                    mov esi, eax
    5. :00401028 85F6                    test esi, esi
    6. :0040102A 7421                    je 0040104D                          //nop掉

    7. * Reference To: kernel32.kernel32.dll, Ord:C95Fh
    8.                                   |
    9. :0040102C FF1504504000            Call dword ptr [00405004]
    10. :00401032 3DB7000000              cmp eax, 000000B7
    11. :00401037 7414                    je 0040104D                          //nop掉
    12. :00401039 6A40                    push 00000040

    13. * Possible StringData Ref from Data Obj ->"CrackMe #3 For PYG5.4 Cracker"
    14.                                   |
    15. :0040103B 685C604000              push 0040605C

    16. * Possible StringData Ref from Data Obj ->"要求:利用Loader技术使程序可以同时运行多个"
    17.                                   |
    18. :00401040 6830604000              push 00406030
    19. :00401045 6A00                    push 00000000

    20. * Reference To: kernel32.kernel32.dll, Ord:0000h
    21.                                   |
    22. :00401047 FF15A8504000            Call dword ptr [004050A8]

    23. * Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
    24. |:0040102A(C), :00401037(C)
    25. |
    26. :0040104D 56                      push esi

    27. * Reference To: kernel32.kernel32.dll, Ord:0000h
    28.                                   |
    29. :0040104E FF1500504000            Call dword ptr [00405000]
    30. :00401054 5F                      pop edi
    31. :00401055 83C8FF                  or eax, FFFFFFFF
    32. :00401058 5E                      pop esi
    33. :00401059 83C420                  add esp, 00000020
    34. :0040105C C21000                  ret 0010
    35. |
    复制代码

    [ 本帖最后由 ZHOU2X 于 2006-5-31 13:10 编辑 ]

    本帖子中包含更多资源

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

    x
    PYG19周年生日快乐!
  • TA的每日心情
    难过
    7 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

     楼主| 发表于 2006-5-31 22:57:36 | 显示全部楼层
    原帖由 ZHOU2X 于 2006-5-31 12:47 发表
    偶发个CrackMe #3 For PYG5.4 Cracker的吧;/:D可能跟要求有出入.
    2344
    * Reference To: kernel32.kernel32.dll, Ord:748Dh
                                      |
    :00401020 FF1508504000            Call dwo ...


    把loader发上了才算成功~~ ;P

    不是要你脱壳后破解~~ 呵呵
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-12-11 20:17
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2006-6-1 19:14:02 | 显示全部楼层
    CrackMe#2 For PYG5.4 Cracker 俺也可能跟要求有出入
    要求是SMC技术。但我还是没搞明白,要求是让程序执行释放互斥体代码让程序运行多个。还是怎么地!!
    但俺看来看到,还是爆破最简单了!
    0044DE84 > $  55            push    ebp
    0044DE85   .  8BEC          mov     ebp, esp
    0044DE87   .  83C4 F0       add     esp, -10
    0044DE8A   .  53            push    ebx
    0044DE8B   .  B8 9CDC4400   mov     eax, 0044DC9C                    ;  <
    0044DE90   .  E8 337DFBFF   call    00405BC8                         ;  //取句柄
    0044DE95   .  A1 C8EF4400   mov     eax, [44EFC8]
    0044DE9A   .  8B00          mov     eax, [eax]
    0044DE9C   .  E8 F3E4FFFF   call    0044C394
    0044DEA1   .  68 00DF4400   push    0044DF00                         ; /onlyone
    0044DEA6   .  6A 00         push    0                                ; |Arg2 = 00000000
    0044DEA8   .  6A 00         push    0                                ; |Arg1 = 00000000
    0044DEAA   .  E8 197FFBFF   call    00405DC8                         ; \//创建一个互斥体,使程序只能运行一次
    0044DEAF   .  8BD8          mov     ebx, eax
    0044DEB1   .  85DB          test    ebx, ebx
    0044DEB3   .  74 42         je      short 0044DEF7
    0044DEB5   .  85DB          test    ebx, ebx
    0044DEB7   .  74 14         je      short 0044DECD
    0044DEB9   .  E8 AA7FFBFF   call    <jmp.&kernel32.GetLastError>     ; [GetLastError
    0044DEBE   .  3D B7000000   cmp     eax, 0B7
    0044DEC3   .  75 08         jnz     short 0044DECD
    0044DEC5   $  53            push    ebx                              ; /hObject
    0044DEC6   .  E8 D57EFBFF   call    <jmp.&kernel32.CloseHandle>      ; \CloseHandle
    0044DECB      EB 2A         jmp     short 0044DEF7                   ;  //爆破的话把这里的跳转跳到下一行就OK了
    //上面代码的意思是,如果程序检测到已运行,就跳到0044DEF7(这里向下执行就是程序退出)
    0044DECD      8B0D A4F04400 mov     ecx, [44F0A4]                    ;  TEST.00450BD4
    0044DED3   .  A1 C8EF4400   mov     eax, [44EFC8]
    0044DED8   .  8B00          mov     eax, [eax]
    0044DEDA   .  8B15 18DA4400 mov     edx, [44DA18]                    ;  TEST.0044DA64
    0044DEE0   .  E8 C7E4FFFF   call    0044C3AC                         ;  //跟进,去掉提示框,呵呵。这里老是跟飞, 地址004450A1
    0044DEE5   .  A1 C8EF4400   mov     eax, [44EFC8]
    0044DEEA   .  8B00          mov     eax, [eax]
    0044DEEC   .  E8 3BE5FFFF   call    0044C42C                         ;  //这个跟进看了看。可能检测的条件多还是什么的。跟到最

    后也没搞明白
    0044DEF1   .  53            push    ebx                              ; /hObject
    0044DEF2   .  E8 A97EFBFF   call    <jmp.&kernel32.CloseHandle>      ; \CloseHandle
    0044DEF7   >  5B            pop     ebx
    0044DEF8   .  E8 235EFBFF   call    00403D20                            //执行程序退出,可能用SMC技术的话,要在这里面动手吧!
    0044DEFD   .  0000          add     [eax], al
    0044DEFF   .  004F 6E       add     [edi+6E], cl
    0044DF02   .  6C            ins     byte ptr es:[edi], dx
    0044DF03   .  79 4F         jns     short 0044DF54
    0044DF05   .  6E            outs    dx, byte ptr es:[edi]
    0044DF06   .  65:0000       add     gs:[eax], al
    0044DF09   .  0000          add     [eax], al
    0044DF0B   .  0000          add     [eax], al
    0044DF0D   .  0000          add     [eax], al
    0044DF0F   .  0000          add     [eax], al
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-2-26 08:32
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    发表于 2006-6-1 23:16:07 | 显示全部楼层

    SMC “CrackMe#2 For PYG5.4 Cracker.exe”

     

    查壳:ASPack 2.12 -> Alexey Solodovnikov
    OD载入,停在入口点:

    00461001 >  60              pushad                                   ; f8
    00461002    E8 03000000     call    0046100A             ; hr esp + F9
    00461007  - E9 EB045D45     jmp     45A314F7
    0046100C    55              push    ebp
    0046100D    C3              retn
    0046100E    E8 01000000     call    00461014                        

    到此:

    004613AF    61              popad                                     ; 壳在此已全解压
    004613B0    75 08           jnz     short 004613BA          ; 补丁地址选在此处
    004613B2    B8 01000000     mov     eax, 1
    004613B7    C2 0C00         retn    0C
    004613BA    68 84DE4400     push    0044DE84


    作如下修改:

    004613B0   /E9 5C190000                 jmp     00462D11       ; 跳到补丁数据00462D11处
    004613B5   |90                          nop
    004613B6   |90                          nop
    004613B7   |90                          nop
    004613B8   |90                          nop
    004613B9   |90                          nop
    004613BA   |68 84DE4400                 push    0044DE84
    004613BF   |C3                          retn

    在00462D11处写入如下代码:

    00462D11    66:C705 DCDB4400 9090       mov     word ptr [44DBDC], 9090
    00462D1A    C705 DEDB4400 90909090      mov     dword ptr [44DBDE], 90909090
    00462D24    C705 E3DB4400 90909090      mov     dword ptr [44DBE3], 90909090
    00462D2E    66:C705 E8DB4400 9090       mov     word ptr [44DBE8], 9090
    00462D37    C705 EADB4400 90909090      mov     dword ptr [44DBEA], 90909090  ; 去除提示框
    00462D41    C705 A1DE4400 68000044      mov     dword ptr [44DEA1], 44000068 ; 去除不能多次运行限制
    00462D4B  ^ E9 6AE6FFFF                 jmp     004613BA                      ; 返回OEP处


    不知这样是否算做完了?

    [ 本帖最后由 wzwgp 于 2006-6-1 23:56 编辑 ]

    本帖子中包含更多资源

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

    x
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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