首页
社区
课程
招聘
[求助]关于狗壳的时间限制求助
发表于: 2006-9-28 10:14 7753

[求助]关于狗壳的时间限制求助

2006-9-28 10:14
7753
手上有一个软件,加的是彩虹天地TDSD GS-MH系列加密狗狗壳。无狗在狗壳试用期内正常运行。(探测结果如下:找到了北京彩虹天地TDSD GS-MH系列加密狗狗壳! 说明 此种狗壳是北京彩虹天地加密狗生成的外壳花指令是他的特点!狗壳还原段时密码只有一组!保护强度一般!)
因为我水平有限,脱壳恐怕无法做到,于是就想将狗壳的试用时间限制给去掉。可是我在咱们论坛查询了很多相关帖子,特别是有位前辈提供了下面这个链接http://www.pediy.com/crackme/crackme02.htm,可是此狗依旧岿然不动,下面是.gtide段开头的部分代码,我怀疑读狗部分就在此处,不知道哪位前辈肯指点后辈一二? 不需要脱壳,只想把时间限制给去掉。如能提供点思路给俺,俺感激不尽!
005C6041    50              push    eax
005C6042    E8 D64C0000     call    005CAD1D
005C6047    83C4 04         add     esp, 4
005C604A    8945 F0         mov     [ebp-10], eax
005C604D    FF75 20         push    dword ptr [ebp+20]
005C6050    FF75 1C         push    dword ptr [ebp+1C]
005C6053    FF75 18         push    dword ptr [ebp+18]
005C6056    FF75 14         push    dword ptr [ebp+14]
005C6059    FF75 10         push    dword ptr [ebp+10]
005C605C    FF75 0C         push    dword ptr [ebp+C]
005C605F    FF75 08         push    dword ptr [ebp+8]
005C6062    FF15 74225E00   call    [<&kernel32.CreateFileA>]              ; kernel32.CreateFileA
005C6068    8945 EC         mov     [ebp-14], eax
005C606B    837D F0 01      cmp     dword ptr [ebp-10], 1
005C606F    0F8C 8B010000   jl      005C6200
005C6075    837D EC FF      cmp     dword ptr [ebp-14], -1
005C6079    0F84 81010000   je      005C6200
005C607F    C745 E8 0000000>mov     dword ptr [ebp-18], 0
005C6086    EB 03           jmp     short 005C608B
005C6088    FF45 E8         inc     dword ptr [ebp-18]
005C608B    837D E8 1E      cmp     dword ptr [ebp-18], 1E
005C608F    0F8D 6B010000   jge     005C6200

下了系统时间断点,其实我已经找到了判断狗的时间部分,修改跳转后虽然程序运行路径正确,但程序一运行就退出。最关键的代码如下,可能有部分花指令。

005C9A00    90              nop
005C9A01    75 03           jnz     short 005C9A06
005C9A03    74 01           je      short 005C9A06
005C9A05    B0 83           mov     al, 83
005C9A06    833D DE055E00 0>cmp     dword ptr [5E05DE], 0
005C9A07    3D DE055E00     cmp     eax, 005E05DE
005C9A0C    000F            add     [edi], cl
005C9A0E    841B            test    [ebx], bl
005C9A10    0200            add     al, [eax]
005C9A12    0079 03         add     [ecx+3], bh
005C9A15    78 01           js      short 005C9A18
005C9A17    C0E8 D3         shr     al, 0D3
005C9A18    E8 D30B0000     call    005CA5F0 ---------------调用读狗判断程序
005C9A1A    0B00            or      eax, [eax]
005C9A1C    0089 8568FBFF   add     [ecx+FFFB6885], cl
005C9A1D    8985 68FBFFFF   mov     [ebp-498], eax
005C9A23    79 03           jns     short 005C9A28
005C9A24    0378 01         add     edi, [eax+1]
005C9A25    78 01           js      short 005C9A28
005C9A27    D183 BD68FBFF   rol     dword ptr [ebx+FFFB68BD], 1
005C9A2D    FF00            inc     dword ptr [eax]
005C9A2F    74 1F           je      short 005C9A50--------跳到005C9A50正常运行
005C9A31    E8 061B0000     call    005CB53C-------------调用弹出对话框,显示“找不到硬件狗”
005C9A36    79 03           jns     short 005C9A3B
005C9A38    78 01           js      short 005C9A3B
005C9A3A    03C7            add     eax, edi
005C9A3C    05 C0065E00     add     eax, 005E06C0
005C9A41    0100            add     [eax], eax
005C9A43    0000            add     [eax], al
005C9A45    68 FFFF0000     push    0FFFF
005C9A4A    FF15 44225E00   call    [<&kernel32.ExitProcess>]              ; kernel32.ExitProcess
005C9A50    FF15 34225E00   call    [<&kernel32.GetCommandLineA>]          ; kernel32.GetCommandLineA

下面是进入call    005CA5F0 之后的代码,对于下面这段代码,正常运行和超期之后运行两者走的路径不同,修改跳转之后,虽然路径相同了,但程序既不提示没狗,也不正常运行,这一点最让我头疼:

005CA5F0    55              push    ebp
005CA5F1    8BEC            mov     ebp, esp
005CA5F3    83EC 3C         sub     esp, 3C
005CA5F6    53              push    ebx
005CA5F7    56              push    esi
005CA5F8    57              push    edi
005CA5F9    C745 CC 0000000>mov     dword ptr [ebp-34], 0
005CA600    833D 84005E00 0>cmp     dword ptr [5E0084], 0
005CA607    0F84 27010000   je      005CA734
005CA60D    C745 D4 724102C>mov     dword ptr [ebp-2C], CF024172
005CA614    8175 D4 3524768>xor     dword ptr [ebp-2C], 83762435
005CA61B    C745 D8 5A4717E>mov     dword ptr [ebp-28], EF17475A
005CA622    8175 D8 3524768>xor     dword ptr [ebp-28], 83762435
005CA629    C745 DC 614D1BE>mov     dword ptr [ebp-24], E61B4D61
005CA630    8175 DC 3524768>xor     dword ptr [ebp-24], 83762435
005CA637    C745 E0 0000000>mov     dword ptr [ebp-20], 0
005CA63E    68 C8065E00     push    005E06C8                               ; ASCII "KERNEL32.DLL"
005CA643    FF15 BC225E00   call    [<&kernel32.LoadLibraryA>]             ; kernel32.LoadLibraryA
005CA649    8945 F8         mov     [ebp-8], eax
005CA64C    8D45 D4         lea     eax, [ebp-2C]
005CA64F    50              push    eax----------------ASCII"kernel32.GetLocalTime"
005CA650    8B45 F8         mov     eax, [ebp-8]
005CA653    50              push    eax
005CA654    FF15 1C225E00   call    [<&kernel32.GetProcAddress>]           ; kernel32.GetProcAddress
005CA65A    8945 C4         mov     [ebp-3C], eax
005CA65D    837D C4 00      cmp     dword ptr [ebp-3C], 0
005CA661    75 0A           jnz     short 005CA66D
005CA663    B8 01000000     mov     eax, 1
005CA668    E9 46010000     jmp     005CA7B3
005CA66D    8D45 E8         lea     eax, [ebp-18]
005CA670    50              push    eax
005CA671    FF55 C4         call    [ebp-3C]
005CA674    83C4 04         add     esp, 4
005CA677    8B45 F8         mov     eax, [ebp-8]
005CA67A    50              push    eax
005CA67B    FF15 38225E00   call    [<&kernel32.FreeLibrary>]              ; kernel32.FreeLibrary
005CA681    A1 24005E00     mov     eax, [5E0024]
005CA686    3305 36005E00   xor     eax, [5E0036]
005CA68C    8945 D0         mov     [ebp-30], eax
005CA68F    8B45 E8         mov     eax, [ebp-18]
005CA692    25 FFFF0000     and     eax, 0FFFF
005CA697    8B4D D0         mov     ecx, [ebp-30]
005CA69A    C1E9 10         shr     ecx, 10
005CA69D    3BC1            cmp     eax, ecx
005CA69F    75 54           jnz     short 005CA6F5
005CA6A1    33C0            xor     eax, eax
005CA6A3    66:8B45 EA      mov     ax, [ebp-16]
005CA6A7    8B4D D0         mov     ecx, [ebp-30]
005CA6AA    C1E9 08         shr     ecx, 8
005CA6AD    83E1 0F         and     ecx, 0F
005CA6B0    3BC1            cmp     eax, ecx
005CA6B2    75 1C           jnz     short 005CA6D0
005CA6B4    33C0            xor     eax, eax
005CA6B6    66:8B45 EE      mov     ax, [ebp-12]
005CA6BA    8B4D D0         mov     ecx, [ebp-30]
005CA6BD    81E1 FF000000   and     ecx, 0FF
005CA6C3    3BC1            cmp     eax, ecx
005CA6C5    77 09           ja      short 005CA6D0
005CA6C7    C745 CC 0100000>mov     dword ptr [ebp-34], 1
005CA6CE    EB 23           jmp     short 005CA6F3
005CA6D0    33C0            xor     eax, eax
005CA6D2    66:8B45 EA      mov     ax, [ebp-16]
005CA6D6    8B4D D0         mov     ecx, [ebp-30]
005CA6D9    C1E9 08         shr     ecx, 8
005CA6DC    83E1 0F         and     ecx, 0F
005CA6DF    3BC1            cmp     eax, ecx
005CA6E1    73 09           jnb     short 005CA6EC
005CA6E3    C745 CC 0100000>mov     dword ptr [ebp-34], 1
005CA6EA    EB 07           jmp     short 005CA6F3
005CA6EC    C745 CC 0000000>mov     dword ptr [ebp-34], 0
005CA6F3    EB 19           jmp     short 005CA70E
005CA6F5    8B45 E8         mov     eax, [ebp-18]
005CA6F8    25 FFFF0000     and     eax, 0FFFF
005CA6FD    8B4D D0         mov     ecx, [ebp-30]
005CA700    C1E9 10         shr     ecx, 10
005CA703    3BC1            cmp     eax, ecx
005CA705    73 07           jnb     short 005CA70E
005CA707    C745 CC 0100000>mov     dword ptr [ebp-34], 1
005CA70E    837D CC 00      cmp     dword ptr [ebp-34], 0
005CA712    74 20           je      short 005CA734
005CA714    8B45 F4         mov     eax, [ebp-C]
005CA717    50              push    eax
005CA718    8B45 F0         mov     eax, [ebp-10]
005CA71B    50              push    eax
005CA71C    8B45 EC         mov     eax, [ebp-14]
005CA71F    50              push    eax
005CA720    8B45 E8         mov     eax, [ebp-18]
005CA723    50              push    eax
005CA724    E8 BDD9FFFF     call    005C80E6
005CA729    83C4 10         add     esp, 10
005CA72C    85C0            test    eax, eax
005CA72E    74 04           je      short 005CA734
005CA730    33C0            xor     eax, eax
005CA732    EB 7F           jmp     short 005CA7B3
005CA734    833D 84005E00 0>cmp     dword ptr [5E0084], 0
005CA73B    74 16           je      short 005CA753
005CA73D    A1 24005E00     mov     eax, [5E0024]
005CA742    3305 36005E00   xor     eax, [5E0036]
005CA748    3305 CA025E00   xor     eax, [5E02CA]
005CA74E    8945 FC         mov     [ebp-4], eax
005CA751    EB 0D           jmp     short 005CA760
005CA753    A1 CA025E00     mov     eax, [5E02CA]
005CA758    35 B67583ED     xor     eax, ED8375B6
005CA75D    8945 FC         mov     [ebp-4], eax
005CA760    8B45 FC         mov     eax, [ebp-4]
005CA763    F7D0            not     eax
005CA765    A3 00005E00     mov     [5E0000], eax
005CA76A    C705 08005E00 0>mov     dword ptr [5E0008], 005E0004
005CA774    6A 00           push    0
005CA776    A1 00005E00     mov     eax, [5E0000]
005CA77B    50              push    eax
005CA77C    6A 00           push    0
005CA77E    6A 00           push    0
005CA780    6A 00           push    0
005CA782    6A 00           push    0
005CA784    A1 08005E00     mov     eax, [5E0008]
005CA789    50              push    eax
005CA78A    6A 01           push    1
005CA78C    66:A1 E2055E00  mov     ax, [5E05E2]
005CA792    50              push    eax
005CA793    E8 551F0000     call    005CC6ED
005CA798    83C4 24         add     esp, 24
005CA79B    8945 C8         mov     [ebp-38], eax
005CA79E    837D C8 00      cmp     dword ptr [ebp-38], 0
005CA7A2    75 0A           jnz     short 005CA7AE
005CA7A4    C705 900B5E00 0>mov     dword ptr [5E0B90], 1
005CA7AE    8B45 C8         mov     eax, [ebp-38]
005CA7B1    EB 00           jmp     short 005CA7B3
005CA7B3    5F              pop     edi
005CA7B4    5E              pop     esi
005CA7B5    5B              pop     ebx
005CA7B6    C9              leave
005CA7B7    C3              retn

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (29)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
狗壳的时间应该是作为常量存放的吧?
2006-9-28 10:49
0
雪    币: 242
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
3
下系统时间相关断点。
2006-9-28 10:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 testkey 发布
下系统时间相关断点。

-----------------------------------------------
下了系统时间断点,其实我已经找到了判断狗的时间部分,修改跳转后虽然程序运行路径正确,但程序一运行就退出。最关键的代码如下,可能有部分花指令。

005C9A00    90              nop
005C9A01    75 03           jnz     short 005C9A06
005C9A03    74 01           je      short 005C9A06
005C9A05    B0 83           mov     al, 83
005C9A06    833D DE055E00 0>cmp     dword ptr [5E05DE], 0
005C9A07    3D DE055E00     cmp     eax, 005E05DE
005C9A0C    000F            add     [edi], cl
005C9A0E    841B            test    [ebx], bl
005C9A10    0200            add     al, [eax]
005C9A12    0079 03         add     [ecx+3], bh
005C9A15    78 01           js      short 005C9A18
005C9A17    C0E8 D3         shr     al, 0D3
005C9A18    E8 D30B0000     call    005CA5F0 ---------------调用读狗判断程序
005C9A1A    0B00            or      eax, [eax]
005C9A1C    0089 8568FBFF   add     [ecx+FFFB6885], cl
005C9A1D    8985 68FBFFFF   mov     [ebp-498], eax
005C9A23    79 03           jns     short 005C9A28
005C9A24    0378 01         add     edi, [eax+1]
005C9A25    78 01           js      short 005C9A28
005C9A27    D183 BD68FBFF   rol     dword ptr [ebx+FFFB68BD], 1
005C9A2D    FF00            inc     dword ptr [eax]
005C9A2F    74 1F           je      short 005C9A50--------跳到005C9A50正常运行
005C9A31    E8 061B0000     call    005CB53C-------------调用弹出对话框,显示“找不到硬件狗”
005C9A36    79 03           jns     short 005C9A3B
005C9A38    78 01           js      short 005C9A3B
005C9A3A    03C7            add     eax, edi
005C9A3C    05 C0065E00     add     eax, 005E06C0
005C9A41    0100            add     [eax], eax
005C9A43    0000            add     [eax], al
005C9A45    68 FFFF0000     push    0FFFF
005C9A4A    FF15 44225E00   call    [<&kernel32.ExitProcess>]              ; kernel32.ExitProcess
005C9A50    FF15 34225E00   call    [<&kernel32.GetCommandLineA>]          ; kernel32.GetCommandLineA

下面是进入call    005CA5F0 之后的代码,对于下面这段代码,正常运行和超期之后运行两者走的路径不同,修改跳转之后,虽然路径相同了,但程序既不提示没狗,也不正常运行,这一点最让我头疼:

005CA5F0    55              push    ebp
005CA5F1    8BEC            mov     ebp, esp
005CA5F3    83EC 3C         sub     esp, 3C
005CA5F6    53              push    ebx
005CA5F7    56              push    esi
005CA5F8    57              push    edi
005CA5F9    C745 CC 0000000>mov     dword ptr [ebp-34], 0
005CA600    833D 84005E00 0>cmp     dword ptr [5E0084], 0
005CA607    0F84 27010000   je      005CA734
005CA60D    C745 D4 724102C>mov     dword ptr [ebp-2C], CF024172
005CA614    8175 D4 3524768>xor     dword ptr [ebp-2C], 83762435
005CA61B    C745 D8 5A4717E>mov     dword ptr [ebp-28], EF17475A
005CA622    8175 D8 3524768>xor     dword ptr [ebp-28], 83762435
005CA629    C745 DC 614D1BE>mov     dword ptr [ebp-24], E61B4D61
005CA630    8175 DC 3524768>xor     dword ptr [ebp-24], 83762435
005CA637    C745 E0 0000000>mov     dword ptr [ebp-20], 0
005CA63E    68 C8065E00     push    005E06C8                               ; ASCII "KERNEL32.DLL"
005CA643    FF15 BC225E00   call    [<&kernel32.LoadLibraryA>]             ; kernel32.LoadLibraryA
005CA649    8945 F8         mov     [ebp-8], eax
005CA64C    8D45 D4         lea     eax, [ebp-2C]
005CA64F    50              push    eax----------------ASCII"kernel32.GetLocalTime"
005CA650    8B45 F8         mov     eax, [ebp-8]
005CA653    50              push    eax
005CA654    FF15 1C225E00   call    [<&kernel32.GetProcAddress>]           ; kernel32.GetProcAddress
005CA65A    8945 C4         mov     [ebp-3C], eax
005CA65D    837D C4 00      cmp     dword ptr [ebp-3C], 0
005CA661    75 0A           jnz     short 005CA66D
005CA663    B8 01000000     mov     eax, 1
005CA668    E9 46010000     jmp     005CA7B3
005CA66D    8D45 E8         lea     eax, [ebp-18]
005CA670    50              push    eax
005CA671    FF55 C4         call    [ebp-3C]
005CA674    83C4 04         add     esp, 4
005CA677    8B45 F8         mov     eax, [ebp-8]
005CA67A    50              push    eax
005CA67B    FF15 38225E00   call    [<&kernel32.FreeLibrary>]              ; kernel32.FreeLibrary
005CA681    A1 24005E00     mov     eax, [5E0024]
005CA686    3305 36005E00   xor     eax, [5E0036]
005CA68C    8945 D0         mov     [ebp-30], eax
005CA68F    8B45 E8         mov     eax, [ebp-18]
005CA692    25 FFFF0000     and     eax, 0FFFF
005CA697    8B4D D0         mov     ecx, [ebp-30]
005CA69A    C1E9 10         shr     ecx, 10
005CA69D    3BC1            cmp     eax, ecx
005CA69F    75 54           jnz     short 005CA6F5
005CA6A1    33C0            xor     eax, eax
005CA6A3    66:8B45 EA      mov     ax, [ebp-16]
005CA6A7    8B4D D0         mov     ecx, [ebp-30]
005CA6AA    C1E9 08         shr     ecx, 8
005CA6AD    83E1 0F         and     ecx, 0F
005CA6B0    3BC1            cmp     eax, ecx
005CA6B2    75 1C           jnz     short 005CA6D0
005CA6B4    33C0            xor     eax, eax
005CA6B6    66:8B45 EE      mov     ax, [ebp-12]
005CA6BA    8B4D D0         mov     ecx, [ebp-30]
005CA6BD    81E1 FF000000   and     ecx, 0FF
005CA6C3    3BC1            cmp     eax, ecx
005CA6C5    77 09           ja      short 005CA6D0
005CA6C7    C745 CC 0100000>mov     dword ptr [ebp-34], 1
005CA6CE    EB 23           jmp     short 005CA6F3
005CA6D0    33C0            xor     eax, eax
005CA6D2    66:8B45 EA      mov     ax, [ebp-16]
005CA6D6    8B4D D0         mov     ecx, [ebp-30]
005CA6D9    C1E9 08         shr     ecx, 8
005CA6DC    83E1 0F         and     ecx, 0F
005CA6DF    3BC1            cmp     eax, ecx
005CA6E1    73 09           jnb     short 005CA6EC
005CA6E3    C745 CC 0100000>mov     dword ptr [ebp-34], 1
005CA6EA    EB 07           jmp     short 005CA6F3
005CA6EC    C745 CC 0000000>mov     dword ptr [ebp-34], 0
005CA6F3    EB 19           jmp     short 005CA70E
005CA6F5    8B45 E8         mov     eax, [ebp-18]
005CA6F8    25 FFFF0000     and     eax, 0FFFF
005CA6FD    8B4D D0         mov     ecx, [ebp-30]
005CA700    C1E9 10         shr     ecx, 10
005CA703    3BC1            cmp     eax, ecx
005CA705    73 07           jnb     short 005CA70E
005CA707    C745 CC 0100000>mov     dword ptr [ebp-34], 1
005CA70E    837D CC 00      cmp     dword ptr [ebp-34], 0
005CA712    74 20           je      short 005CA734
005CA714    8B45 F4         mov     eax, [ebp-C]
005CA717    50              push    eax
005CA718    8B45 F0         mov     eax, [ebp-10]
005CA71B    50              push    eax
005CA71C    8B45 EC         mov     eax, [ebp-14]
005CA71F    50              push    eax
005CA720    8B45 E8         mov     eax, [ebp-18]
005CA723    50              push    eax
005CA724    E8 BDD9FFFF     call    005C80E6
005CA729    83C4 10         add     esp, 10
005CA72C    85C0            test    eax, eax
005CA72E    74 04           je      short 005CA734
005CA730    33C0            xor     eax, eax
005CA732    EB 7F           jmp     short 005CA7B3
005CA734    833D 84005E00 0>cmp     dword ptr [5E0084], 0
005CA73B    74 16           je      short 005CA753
005CA73D    A1 24005E00     mov     eax, [5E0024]
005CA742    3305 36005E00   xor     eax, [5E0036]
005CA748    3305 CA025E00   xor     eax, [5E02CA]
005CA74E    8945 FC         mov     [ebp-4], eax
005CA751    EB 0D           jmp     short 005CA760
005CA753    A1 CA025E00     mov     eax, [5E02CA]
005CA758    35 B67583ED     xor     eax, ED8375B6
005CA75D    8945 FC         mov     [ebp-4], eax
005CA760    8B45 FC         mov     eax, [ebp-4]
005CA763    F7D0            not     eax
005CA765    A3 00005E00     mov     [5E0000], eax
005CA76A    C705 08005E00 0>mov     dword ptr [5E0008], 005E0004
005CA774    6A 00           push    0
005CA776    A1 00005E00     mov     eax, [5E0000]
005CA77B    50              push    eax
005CA77C    6A 00           push    0
005CA77E    6A 00           push    0
005CA780    6A 00           push    0
005CA782    6A 00           push    0
005CA784    A1 08005E00     mov     eax, [5E0008]
005CA789    50              push    eax
005CA78A    6A 01           push    1
005CA78C    66:A1 E2055E00  mov     ax, [5E05E2]
005CA792    50              push    eax
005CA793    E8 551F0000     call    005CC6ED
005CA798    83C4 24         add     esp, 24
005CA79B    8945 C8         mov     [ebp-38], eax
005CA79E    837D C8 00      cmp     dword ptr [ebp-38], 0
005CA7A2    75 0A           jnz     short 005CA7AE
005CA7A4    C705 900B5E00 0>mov     dword ptr [5E0B90], 1
005CA7AE    8B45 C8         mov     eax, [ebp-38]
005CA7B1    EB 00           jmp     short 005CA7B3
005CA7B3    5F              pop     edi
005CA7B4    5E              pop     esi
005CA7B5    5B              pop     ebx
005CA7B6    C9              leave
005CA7B7    C3              retn
2006-9-28 11:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
万望不吝赐教!
2006-9-28 13:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
为什么没人回答呢? 是我问的问题太简单了吗?
斑竹可否帮忙将帖子转到新手区
2006-9-28 14:54
0
雪    币: 26
活跃值: (189)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
这狗被问也回答太多,有点腻!所以大家都不大想回答
LZ你可以做复制狗,根本没必要考虑壳。
你带壳调试,比较麻烦,不脱壳想去timer,你得做loader啊....
2006-9-28 16:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 kingday 发布
这狗被问也回答太多,有点腻!所以大家都不大想回答
LZ你可以做复制狗,根本没必要考虑壳。
你带壳调试,比较麻烦,不脱壳想去timer,你得做loader啊....

--------------------------------------------------------

关键就在于没有狗,所以只好去壳或者改time了。

我换个弱点的问题吧,Nullsoft PiMP 1.3x这个是什么壳,与Nullsoft PiMP Stub这个打包工具应该不是同一个东东吧?我用UniExtract解不出来,但能报告文件类型是Nullsoft PiMP 1.3x.

做loader也可以,坛子上有相关的资料吗?我down下去回家慢慢看,其实俺也不喜欢到处问别人,只要手头有资料,自个儿琢磨更有意思。
2006-9-28 17:00
0
雪    币: 238
活跃值: (230)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
发上程序,试试
2006-9-28 19:46
0
雪    币: 413
活跃值: (637)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
10
带时间限制的狗壳,其实你不必麻烦,只要改一个二进制位就可以了。
甚至不是一个字节。呵呵。

研究时头昏脑涨,明了时感慨万千。
   就是一句话:这破壳感情是真T……的简单啊!哈哈。
说了句粗话。
2006-9-29 08:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这是链接:http://218.9.66.138/hwkjwz/download/nzgl.rar
okpj前辈可以down下来看看。

诚如NIG前辈所说,我也认为时间限制应该是比较简单的事,因为最后程序终究需要比较系统时间和一个常数时间(这个常数时间要么放在注册表里,要么放在某个文件里,或者在可执行文件内),然后根据比较结果来执行不同的指令。

程序里的这部分代码:
005C9A24    0378 01         add     edi, [eax+1]
005C9A25    78 01           js      short 005C9A28
005C9A27    D183 BD68FBFF   rol     dword ptr [ebx+FFFB68BD], 1
005C9A2D    FF00            inc     dword ptr [eax]
005C9A2F    74 1F           je      short 005C9A50--------跳到005C9A50正常运行
005C9A31    E8 061B0000     call    005CB53C-------------调用弹出对话框,显示“找不到硬件狗”
005C9A36    79 03           jns     short 005C9A3B
005C9A38    78 01           js      short 005C9A3B
005C9A3A    03C7            add     eax, edi
005C9A3C    05 C0065E00     add     eax, 005E06C0
005C9A41    0100            add     [eax], eax
005C9A43    0000            add     [eax], al
005C9A45    68 FFFF0000     push    0FFFF
005C9A4A    FF15 44225E00   call    [<&kernel32.ExitProcess>]              ; kernel32.ExitProcess
005C9A50    FF15 34225E00   call    [<&kernel32.GetCommandLineA>]          ; kernel32.GetCommandLineA

在005C9A2F处应该是个关键跳转,两个分支分别是:弹出无狗提示框退出程序;正常运行程序。

我曾经修改过此跳转,虽然超期后程序的确按我所修改的跳到了GetCommandLineA,可是却接着就退出了,我一度以为程序在后面有什么陷阱,但经过跟踪发现没有。恳请okpj和nig两位前辈请多多指点。
虽然遇到了点挫折,不过我相信只要精诚所至,金石一定会开的,请前辈们不吝赐教!
2006-9-29 09:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 nig 发布
带时间限制的狗壳,其实你不必麻烦,只要改一个二进制位就可以了。
甚至不是一个字节。呵呵。

研究时头昏脑涨,明了时感慨万千。
就是一句话:这破壳感情是真T……的简单啊!哈哈。
........

------------------------------------------------
我查遍了论坛上的帖子,也没有找到这种狗壳的时间值所放的位置,倒是有一些别的类型狗壳资料挺全。
2006-9-29 09:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我的信箱是sleeplesspig@yahoo.com.cn
2006-9-29 12:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
nig前辈能否指点一下?如何找到您所说的那个二进制位,我可是众里寻它千百度啊,论坛的精华贴里提到的方法我也都试过,却不起作用,比如有个贴子里提到的日期位置,在我那个程序里该位置的值经过计算之后发现不对。
拜托拜托!!
2006-9-29 14:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
最初由 nig 发布
带时间限制的狗壳,其实你不必麻烦,只要改一个二进制位就可以了。
甚至不是一个字节。呵呵。

研究时头昏脑涨,明了时感慨万千。
就是一句话:这破壳感情是真T……的简单啊!哈哈。
........


是修改标志吗? 譬如有时间限制为1,无时间限制为0,将1改为0即可??
2006-9-29 14:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
上面那段程序中的这一部分用了三次异或:
005CA60D    C745 D4 724102C>mov     dword ptr [ebp-2C], CF024172
005CA614    8175 D4 3524768>xor     dword ptr [ebp-2C], 83762435
005CA61B    C745 D8 5A4717E>mov     dword ptr [ebp-28], EF17475A
005CA622    8175 D8 3524768>xor     dword ptr [ebp-28], 83762435
005CA629    C745 DC 614D1BE>mov     dword ptr [ebp-24], E61B4D61
005CA630    8175 DC 3524768>xor     dword ptr [ebp-24], 83762435
005CA637    C745 E0 0000000>mov     dword ptr [ebp-20], 0

此处的83762435常数是什么意思呢? 可否有人告知
2006-9-29 14:55
0
雪    币: 10580
活跃值: (2264)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
最简单最直接给上面某几位大大 钱就可以搞定了  想直接告诉你 等一万年吧
要不就自己慢慢研究
2006-9-29 14:59
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
最初由 wzmooo 发布
最简单最直接给上面某几位大大 钱就可以搞定了 想直接告诉你 等一万年吧
要不就自己慢慢研究


我倒是想给钱,可我怕在这里说被封号,所以没说。

刚才我又跟了一下程序,终于找到时间了,就在我上面贴出的那部分代码里
005CA68F    8B45 E8         mov     eax, [ebp-18]
005CA692    25 FFFF0000     and     eax, 0FFFF----------此处eax的值是000907D7也就是2007年9月(我为了测试改了系统时间)

005CA697    8B4D D0         mov     ecx, [ebp-30]
005CA69A    C1E9 10         shr     ecx, 10---------此处ecx的值恰好就是07D60C04,哈,这不就是2006年12月4日嘛
005CA69D    3BC1            cmp     eax, ecx
005CA69F    75 54           jnz     short 005CA6F5

时间是在这里验证绝对没错,只是不知道单纯修改此处行不行,我现在都不敢改它了,好容易找到了位置,万一改了之后还不行,那我可真是没招了。
2006-9-29 15:23
0
雪    币: 3645
活跃值: (4212)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
19
最初由 北溟 发布
我倒是想给钱,可我怕在这里说被封号,所以没说。

刚才我又跟了一下程序,终于找到时间了,就在我上面贴出的那部分代码里
005CA68F 8B45 E8 mov eax, [ebp-18]
005CA692 25 FFFF0000 and eax, 0FFFF----------此处eax的值是000907D7也就是2007年9月(我为了测试改了系统时间)
........


直接把这里都NOP掉,然后看看jnz修改JMP或者NOP。
2006-9-29 16:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
最初由 china 发布
直接把这里都NOP掉,然后看看jnz修改JMP或者NOP。


很可惜,不成功。虽然测试时间这一块通过了,但程序依然没办法运行。

005CA68C    8945 D0         mov     [ebp-30], eax
005CA68F    8B45 E8         mov     eax, [ebp-18]
005CA692    25 FFFF0000     and     eax, 0FFFF
005CA697    8B4D D0         mov     ecx, [ebp-30]
005CA69A    C1E9 10         shr     ecx, 10
005CA69D    3BC1            cmp     eax, ecx
005CA69F    75 54           jnz     short 005CA6F5----测试是否是2006年
005CA6A1    33C0            xor     eax, eax
005CA6A3    66:8B45 EA      mov     ax, [ebp-16]
005CA6A7    8B4D D0         mov     ecx, [ebp-30]
005CA6AA    C1E9 08         shr     ecx, 8
005CA6AD    83E1 0F         and     ecx, 0F
005CA6B0    3BC1            cmp     eax, ecx
005CA6B2    75 1C           jnz     short 005CA6D0----测试月份
005CA6B4    33C0            xor     eax, eax
005CA6B6    66:8B45 EE      mov     ax, [ebp-12]
005CA6BA    8B4D D0         mov     ecx, [ebp-30]
005CA6BD    81E1 FF000000   and     ecx, 0FF
005CA6C3    3BC1            cmp     eax, ecx
005CA6C5    77 09           ja      short 005CA6D0----如果同年同月则在此处测试日期
上面的几处跳转我都nop掉了,
----------------------------------------------------------
005CA6C7    C745 CC 0100000>mov     dword ptr [ebp-34], 1---程序在试用期内会执行到这句
005CA6CE    EB 23           jmp     short 005CA6F3---此处跳走
005CA6D0    33C0            xor     eax, eax
005CA6D2    66:8B45 EA      mov     ax, [ebp-16]
005CA6D6    8B4D D0         mov     ecx, [ebp-30]
005CA6D9    C1E9 08         shr     ecx, 8
005CA6DC    83E1 0F         and     ecx, 0F
005CA6DF    3BC1            cmp     eax, ecx
005CA6E1    73 09           jnb     short 005CA6EC
005CA6E3    C745 CC 0100000>mov     dword ptr [ebp-34], 1
005CA6EA    EB 07           jmp     short 005CA6F3
005CA6EC    C745 CC 0000000>mov     dword ptr [ebp-34], 0
005CA6F3    EB 19           jmp     short 005CA70E--跳到此处又是个跳转
005CA6F5    8B45 E8         mov     eax, [ebp-18]
005CA6F8    25 FFFF0000     and     eax, 0FFFF
005CA6FD    8B4D D0         mov     ecx, [ebp-30]
005CA700    C1E9 10         shr     ecx, 10
005CA703    3BC1            cmp     eax, ecx
005CA705    73 07           jnb     short 005CA70E
005CA707    C745 CC 0100000>mov     dword ptr [ebp-34], 1
005CA70E    837D CC 00      cmp     dword ptr [ebp-34], 0
005CA712    74 20           je      short 005CA734--此处比较不跳
005CA714    8B45 F4         mov     eax, [ebp-C]
005CA717    50              push    eax
005CA718    8B45 F0         mov     eax, [ebp-10]
005CA71B    50              push    eax
005CA71C    8B45 EC         mov     eax, [ebp-14]
005CA71F    50              push    eax
005CA720    8B45 E8         mov     eax, [ebp-18]
005CA723    50              push    eax
005CA724    E8 BDD9FFFF     call    005C80E6--难道是这个call里有问题?
005CA729    83C4 10         add     esp, 10----无论超期和不超期,esp的植都一样是0012FA4C
005CA72C    85C0            test    eax, eax--eax
005CA72E    74 04           je      short 005CA734
005CA730    33C0            xor     eax, eax
005CA732    EB 7F           jmp     short 005CA7B3

跳到005CA7B3之后,修改后的程序和未超期的程序两者走的路径都一样,但修改后的程序在GetCommandLineA后就退出了,而未超期的程序则在GetCommandLineA之处显示了正常启动框。

CHINA前辈您的信箱多少?
2006-9-29 17:07
0
雪    币: 3645
活跃值: (4212)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
21
程序好象不只一处判断

你根据那几个常数找找其他的地方。

我弄不了这软件,帮不上你了。
2006-9-29 17:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
最初由 china 发布
程序好象不只一处判断

你根据那几个常数找找其他的地方。

我弄不了这软件,帮不上你了。


我不想被封,能否通过信箱交流一下?
2006-9-29 17:21
0
雪    币: 413
活跃值: (637)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
23
北溟兄弟:
  你不要光看这一块的内容,把眼光放开些,先把狗过了,之后在狗的区段里有一个标志位1,如果有时间限制,会检测时间的,如果改成0,干脆就不检测了.

这一段的时间的比较也是在发现有标志位之后来判断的.
离开狗,看程序的用狗,这样你就不用光看着狗跑来跑去的了.

你的文件下载不了.
2006-9-29 17:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
最初由 nig 发布
北溟兄弟:
你不要光看这一块的内容,把眼光放开些,先把狗过了,之后在狗的区段里有一个标志位1,如果有时间限制,会检测时间的,如果改成0,干脆就不检测了.

这一段的时间的比较也是在发现有标志位之后来判断的.
离开狗,看程序的用狗,这样你就不用光看着狗跑来跑去的了.
........


谢谢nig前辈的指点,我今天晚上再继续研究。
在这个信箱beiming9999@yahoo.com.cn中有封已读的信,同时那封信的附件中有那个程序,信箱密码是123456
nig前辈如有时间可去down下来。
能有高手指点,即使最后解决不了,我也觉得很幸运。再次谢谢。
2006-9-29 17:45
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
回家调试,明天再来。我一定要搞定为止。
2006-9-29 20:17
0
游客
登录 | 注册 方可回帖
返回
//