飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3022|回复: 0

[原创] 手脱SoftSentry 2.11 -> 20/20 Software

[复制链接]
  • TA的每日心情
    无聊
    2015-9-5 20:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-4-27 09:22:48 | 显示全部楼层 |阅读模式
    【破文标题】手脱SoftSentry 2.11 -> 20/20 Software
    【破文作者】王者之剑
    【作者邮箱】hj2008mt@163.com
    【作者主页】www.chinapojie.cn
    破解工具】ImportREC,LordPE,OD
    【破解平台】XP
    【破解声明】这个壳很少见,我也是最近才看到的,感觉很有趣才写下这编破文,如有不对之处还请大侠们纠正,最好是不要用砖头砸我,理解一下偶也是个新手,呵呵!

    现在我们开始吧.....

    先用PEID查一下,起码要做的,呵呵.

    发现是SoftSentry 2.11 -> 20/20 Software,倒,说实在的第一次看到,之前没看到过,但这个壳很好玩的说,呵呵!

    再用OD载入吧.下面是入口点.

    00439E90 >  55              push    ebp
    00439E91    8BEC            mov     ebp, esp
    00439E93    83EC 64         sub     esp, 64
    00439E96    53              push    ebx
    00439E97    56              push    esi
    00439E98    57              push    edi
    00439E99    E9 50000000     jmp     00439EEE
    00439E9E    0000            add     byte ptr [eax], al
    00439EA0    90              nop
    00439EA1    9E              sahf
    00439EA2    0300            add     eax, dword ptr [eax]
    00439EA4    0000            add     byte ptr [eax], al
    00439EA6    40              inc     eax
    00439EA7    00C1            add     cl, al
    00439EA9    00F8            add     al, bh
    00439EAB    2101            and     dword ptr [ecx], eax
    00439EAD    0066 3D         add     byte ptr [esi+3D], ah
    00439EB0    0100            add     dword ptr [eax], eax
    00439EB2    66:3D 0100      cmp     ax, 1

    我们F8往下跟吧.

    0043A032   /0F85 2E000000   jnz     0043A066
    0043A038   |33C0            xor     eax, eax
    0043A03A   |66:A1 322D4400  mov     ax, word ptr [442D32]
    0043A040   |F6C4 10         test    ah, 10
    0043A043   |0F84 1D000000   je      0043A066
    0043A049   |6A 00           push    0
    0043A04B   |68 03800000     push    8003
    0043A050   |68 11010000     push    111
    0043A055   |A1 802C4400     mov     eax, dword ptr [442C80]
    0043A05A   |50              push    eax
    0043A05B   |FF15 94344400   call    dword ptr [<&USER32.SendMessageA>; USER32.SendMessageA
    0043A061   |E9 05000000     jmp     0043A06B
    0043A066   \E8 15060000     call    0043A680
    0043A06B    833D 70F14300 0>cmp     dword ptr [43F170], 0
    0043A072    0F84 16000000   je      0043A08E
    0043A078    8B4D B0         mov     ecx, dword ptr [ebp-50]
    0043A07B    E8 402C0000     call    0043CCC0
    0043A080    8945 B0         mov     dword ptr [ebp-50], eax
    0043A083    8B4D B0         mov     ecx, dword ptr [ebp-50]
    0043A086    E8 F52C0000     call    0043CD80



    跟到上面的一个CALL时我们发现程序会运行起来,这样就无法跟下去,那我们就要想办法了,呵呵.我们再来一次.但

    是一定要记得刚才是到哪里运行的,要不会错过的,呵呵.


    0043A032   /0F85 2E000000   jnz     0043A066
    0043A038   |33C0            xor     eax, eax
    0043A03A   |66:A1 322D4400  mov     ax, word ptr [442D32]
    0043A040   |F6C4 10         test    ah, 10
    0043A043   |0F84 1D000000   je      0043A066
    0043A049   |6A 00           push    0
    0043A04B   |68 03800000     push    8003
    0043A050   |68 11010000     push    111
    0043A055   |A1 802C4400     mov     eax, dword ptr [442C80]
    0043A05A   |50              push    eax
    0043A05B   |FF15 94344400   call    dword ptr [<&USER32.SendMessageA>; USER32.SendMessageA
    0043A061   |E9 05000000     jmp     0043A06B

    到上面的位置后我们将下面两处nop掉.再往下跟

    0043A032   /0F85 2E000000   jnz     0043A066
    0043A043   |0F84 1D000000   je      0043A066

    我们NOP后的效果大家看一下是不是这样的:

    0043A02F    F6C4 C0         test    ah, 0C0
    0043A032    90              nop
    0043A033    90              nop
    0043A034    90              nop
    0043A035    90              nop
    0043A036    90              nop
    0043A037    90              nop
    0043A038    33C0            xor     eax, eax
    0043A03A    66:A1 322D4400  mov     ax, word ptr [442D32]
    0043A040    F6C4 10         test    ah, 10
    0043A043    90              nop
    0043A044    90              nop
    0043A045    90              nop
    0043A046    90              nop
    0043A047    90              nop
    0043A048    90              nop
    0043A049    6A 00           push    0
    0043A04B    68 03800000     push    8003

    再我们跟到下面的地方再查找二进制字串符FF D7 6A 00
    0043A049    6A 00           push    0

    我们查到后可以看到以下代码

    0043A3AB    FFD7            call    edi
    0043A3AD    6A 00           push    0
    0043A3AF    68 28F34300     push    0043F328                         ; ASCII "softSENTRY"
    0043A3B4    68 18F34300     push    0043F318                         ; ASCII "Failed to run!"
    0043A3B9    6A 00           push    0
    0043A3BB    FF15 84344400   call    dword ptr [<&USER32.MessageBoxA>>; USER32.MessageBoxA
    0043A3C1    5F              pop     edi
    0043A3C2    5E              pop     esi
    0043A3C3    C2 0400         retn    4

    那我们就在

    0043A3AB    FFD7            call    edi

    在上面这里下段.
    跟进我们这里就到了OEP了,下面的就不用我说了,呵呵!!

    00439E90 >  55              push    ebp
    00439E91    8BEC            mov     ebp, esp
    00439E93    83EC 64         sub     esp, 64
    00439E96    53              push    ebx
    00439E97    56              push    esi
    00439E98    57              push    edi
    00439E99    E9 50000000     jmp     00439EEE
    00439E9E    0000            add     byte ptr [eax], al
    00439EA0    90              nop
    00439EA1    9E              sahf
    00439EA2    0300            add     eax, dword ptr [eax]
    00439EA4    0000            add     byte ptr [eax], al
    00439EA6    40              inc     eax
    00439EA7    00C1            add     cl, al
    00439EA9    00F8            add     al, bh
    00439EAB    2101            and     dword ptr [ecx], eax
    00439EAD    0066 3D         add     byte ptr [esi+3D], ah
    00439EB0    0100            add     dword ptr [eax], eax
    00439EB2    66:3D 0100      cmp     ax, 1

    【破解总结】这个壳不错,很好玩....

    很少写破文,写得有问题的地方请大家提示一下,谢谢了!!!

    [ 本帖最后由 hj2008mt 于 2008-4-27 09:25 编辑 ]
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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