17 12

[原创] CW商业管理系统 之 算法&去暗桩分析

CW商业管理系统 之 算法&去暗桩分析

ASPack 2.11 -> Alexey Solodovnikov,脱之~修复下即可正常运行

MessageBoxA下断,算法分析如下:

;====================================================================|
006BA999    55              push    ebp
006BA99A    68 CDAA6B00     push    006BAACD
006BA99F    64:FF30         push    dword ptr fs:[eax]
006BA9A2    64:8920         mov     dword ptr fs:[eax], esp
006BA9A5    8D55 F8         lea     edx, dword ptr [ebp-8]
006BA9A8    8B83 00030000   mov     eax, dword ptr [ebx+300]
006BA9AE    E8 59B2E8FF     call    00545C0C
006BA9B3    8B45 F8         mov     eax, dword ptr [ebp-8]           ; ASCII "crack"
006BA9B6    8D55 FC         lea     edx, dword ptr [ebp-4]
006BA9B9    E8 FEF4D4FF     call    00409EBC
006BA9BE    837D FC 00      cmp     dword ptr [ebp-4], 0             ; ASCII "crack"
006BA9C2    75 2B           jnz     short 006BA9EF                   ; //
006BA9C4    6A 40           push    40
006BA9C6    B9 DCAA6B00     mov     ecx, 006BAADC
006BA9CB    BA E4AA6B00     mov     edx, 006BAAE4
006BA9D0    A1 1CDE7D00     mov     eax, dword ptr [7DDE1C]
006BA9D5    8B00            mov     eax, dword ptr [eax]
006BA9D7    E8 88BDDBFF     call    00476764
006BA9DC    8B83 00030000   mov     eax, dword ptr [ebx+300]
006BA9E2    8B10            mov     edx, dword ptr [eax]
006BA9E4    FF92 C0000000   call    dword ptr [edx+C0]
006BA9EA    E9 C3000000     jmp     006BAAB2
006BA9EF    A1 101A7E00     mov     eax, dword ptr [7E1A10]
006BA9F4    50              push    eax                              ; ASCII "015122-D01A31AF"
006BA9F5    8D55 F4         lea     edx, dword ptr [ebp-C]
006BA9F8    8B83 08030000   mov     eax, dword ptr [ebx+308]
006BA9FE    E8 09B2E8FF     call    00545C0C
006BAA03    8B45 F4         mov     eax, dword ptr [ebp-C]           ; ASCII ASCII "9876543210abcdef2468013579fedcba0592"
006BAA06    50              push    eax
006BAA07    E8 A43E0000     call    006BE8B0                         ; =>关键CALL跟入
006BAA0C    84C0            test    al, al
006BAA0E    0F84 86000000   je      006BAA9A
;---------------------------|
006BAA14    8D55 EC         lea     edx, dword ptr [ebp-14]
006BAA17    8B83 08030000   mov     eax, dword ptr [ebx+308]
006BAA1D    E8 EAB1E8FF     call    00545C0C
006BAA22    8B45 EC         mov     eax, dword ptr [ebp-14]
006BAA25    8D55 F0         lea     edx, dword ptr [ebp-10]
006BAA28    E8 8FF4D4FF     call    00409EBC
006BAA2D    8B45 F0         mov     eax, dword ptr [ebp-10]
006BAA30    50              push    eax
006BAA31    A1 101A7E00     mov     eax, dword ptr [7E1A10]
006BAA36    50              push    eax
006BAA37    68 FCAA6B00     push    006BAAFC                         ; ASCII "djb"
006BAA3C    E8 773E0000     call    006BE8B8                         ; jmp 到 regdll.WriteRegistry
006BAA41    8D55 E4         lea     edx, dword ptr [ebp-1C]
006BAA44    8B83 08030000   mov     eax, dword ptr [ebx+308]
006BAA4A    E8 BDB1E8FF     call    00545C0C
006BAA4F    8B45 E4         mov     eax, dword ptr [ebp-1C]
006BAA52    8D55 E8         lea     edx, dword ptr [ebp-18]
006BAA55    E8 62F4D4FF     call    00409EBC
006BAA5A    8B45 E8         mov     eax, dword ptr [ebp-18]
006BAA5D    50              push    eax
006BAA5E    8D55 DC         lea     edx, dword ptr [ebp-24]
006BAA61    8B83 00030000   mov     eax, dword ptr [ebx+300]
006BAA67    E8 A0B1E8FF     call    00545C0C
006BAA6C    8B45 DC         mov     eax, dword ptr [ebp-24]
006BAA6F    8D55 E0         lea     edx, dword ptr [ebp-20]
006BAA72    E8 45F4D4FF     call    00409EBC
006BAA77    8B45 E0         mov     eax, dword ptr [ebp-20]
006BAA7A    5A              pop     edx
006BAA7B    E8 686F0000     call    006C19E8
006BAA80    6A 40           push    40
006BAA82    B9 DCAA6B00     mov     ecx, 006BAADC
006BAA87    BA 00AB6B00     mov     edx, 006BAB00
006BAA8C    A1 1CDE7D00     mov     eax, dword ptr [7DDE1C]
006BAA91    8B00            mov     eax, dword ptr [eax]
006BAA93    E8 CCBCDBFF     call    00476764
006BAA98    EB 18           jmp     short 006BAAB2
006BAA9A    6A 40           push    40
006BAA9C    B9 DCAA6B00     mov     ecx, 006BAADC
006BAAA1    BA 20AB6B00     mov     edx, 006BAB20
006BAAA6    A1 1CDE7D00     mov     eax, dword ptr [7DDE1C]
006BAAAB    8B00            mov     eax, dword ptr [eax]
006BAAAD    E8 B2BCDBFF     call    00476764                         ; 注册失败
006BAAB2    33C0            xor     eax, eax
006BAAB4    5A              pop     edx
006BAAB5    59              pop     ecx
006BAAB6    59              pop     ecx
006BAAB7    64:8910         mov     dword ptr fs:[eax], edx
006BAABA    68 D4AA6B00     push    006BAAD4
006BAABF    8D45 DC         lea     eax, dword ptr [ebp-24]
006BAAC2    BA 09000000     mov     edx, 9
006BAAC7    E8 44A5D4FF     call    00405010
006BAACC    C3              retn
006BAACD  ^ E9 BE9DD4FF     jmp     00404890
006BAAD2  ^ EB EB           jmp     short 006BAABF
006BAAD4    5B              pop     ebx
006BAAD5    8BE5            mov     esp, ebp
006BAAD7    5D              pop     ebp
006BAAD8    C3              retn
;====================================================================|
;在地址006BAA07处跟进关键CALL->006BE8B0  
;====================================================================|
00E33DD8 >  55              push    ebp                              ; //
00E33DD9    8BEC            mov     ebp, esp
00E33DDB    33C9            xor     ecx, ecx
00E33DDD    51              push    ecx
00E33DDE    51              push    ecx
00E33DDF    51              push    ecx
00E33DE0    51              push    ecx
00E33DE1    53              push    ebx
00E33DE2    33C0            xor     eax, eax                         ; EAX置零
00E33DE4    55              push    ebp
00E33DE5    68 673EE300     push    00E33E67
00E33DEA    64:FF30         push    dword ptr fs:[eax]
00E33DED    64:8920         mov     dword ptr fs:[eax], esp
00E33DF0    8D45 F8         lea     eax, dword ptr [ebp-8]
00E33DF3    8B55 08         mov     edx, dword ptr [ebp+8]           ; ASCII ASCII "9876543210abcdef2468013579fedcba0592"
00E33DF6    E8 0507FBFF     call    00DE4500
00E33DFB    8B45 F8         mov     eax, dword ptr [ebp-8]           ; ASCII ASCII "9876543210abcdef2468013579fedcba0592"
00E33DFE    66:BA 7200      mov     dx, 72                           ; dx = 72
00E33E02    E8 79080000     call    00E34680                         ; =>跟进
00E33E07    8BD0            mov     edx, eax                         ; eax=021C28A4[被加密的数据]
00E33E09    8D45 FC         lea     eax, dword ptr [ebp-4]
00E33E0C    E8 EF06FBFF     call    00DE4500
00E33E11    8D45 F4         lea     eax, dword ptr [ebp-C]
00E33E14    8B55 0C         mov     edx, dword ptr [ebp+C]           ; ASCII "015122-D01A31AF"
00E33E17    E8 E406FBFF     call    00DE4500
00E33E1C    8B45 F4         mov     eax, dword ptr [ebp-C]           ; ASCII "015122-D01A31AF"
00E33E1F    50              push    eax                              ; eax=021C203C, (ASCII "015122-D01A31AF")
00E33E20    8D45 F0         lea     eax, dword ptr [ebp-10]          ; 堆栈地址=0012F25C
00E33E23    50              push    eax
00E33E24    8B45 FC         mov     eax, dword ptr [ebp-4]           ; 被加密数据地址
00E33E27    E8 9C07FBFF     call    00DE45C8
00E33E2C    8BC8            mov     ecx, eax                         ; 8
00E33E2E    BA 04000000     mov     edx, 4
00E33E33    8B45 FC         mov     eax, dword ptr [ebp-4]           ; 被加密数据
00E33E36    E8 E509FBFF     call    00DE4820                         ; =>去掉前面3个byte
00E33E3B    8B55 F0         mov     edx, dword ptr [ebp-10]          ; 新数值
00E33E3E    58              pop     eax                              ; ASCII "015122-D01A31AF"
;-----------|
变后:021C2A3C  0D 4D 53 CB B7 C0 0F 9B B4 7A 0E E8 25 F9 52 00  .MS朔?洿z?鵕.
正解:021C203C  30 31 35 31 32 32 2D 44 30 31 41 33 31 41 46 00  015122-D01A31AF.
;-----------|
00E33E3F    E8 C808FBFF     call    00DE470C
00E33E44    74 04           je      short 00E33E4A                   ; //不跳则挂
00E33E46    33DB            xor     ebx, ebx                         ; 标志位EBX置零
00E33E48    EB 02           jmp     short 00E33E4C                   ; //
00E33E4A    B3 01           mov     bl, 1                            ; 标志位bl = 1
00E33E4C    33C0            xor     eax, eax                         ; EAX置零
00E33E4E    5A              pop     edx
00E33E4F    59              pop     ecx
00E33E50    59              pop     ecx
00E33E51    64:8910         mov     dword ptr fs:[eax], edx
00E33E54    68 6E3EE300     push    00E33E6E
00E33E59    8D45 F0         lea     eax, dword ptr [ebp-10]
00E33E5C    BA 04000000     mov     edx, 4
00E33E61    E8 CE04FBFF     call    00DE4334
00E33E66    C3              retn                                     ; //
00E33E67  ^ E9 44FEFAFF     jmp     00DE3CB0
00E33E6C  ^ EB EB           jmp     short 00E33E59
00E33E6E    8BC3            mov     eax, ebx                         ; EAX = EBX
00E33E70    5B              pop     ebx
00E33E71    8BE5            mov     esp, ebp
00E33E73    5D              pop     ebp
00E33E74    C2 0800         retn    8                                ; //返回
;====================================================================|
;在地址00E33E02处跟进CALL->00E34680
;--------------------------------------------------------------------|
00E34680    55              push    ebp                              ; //开始
00E34681    8BEC            mov     ebp, esp
00E34683    83C4 EC         add     esp, -14
00E34686    53              push    ebx
00E34687    56              push    esi
00E34688    57              push    edi
00E34689    33C9            xor     ecx, ecx                         ; ECX置零
00E3468B    894D EC         mov     dword ptr [ebp-14], ecx
00E3468E    894D F0         mov     dword ptr [ebp-10], ecx
00E34691    8BFA            mov     edi, edx                         ; edx=00000072
00E34693    8945 FC         mov     dword ptr [ebp-4], eax           ; ASCII ASCII "9876543210abcdef2468013579fedcba0592"
00E34696    8B45 FC         mov     eax, dword ptr [ebp-4]
00E34699    E8 1201FBFF     call    00DE47B0
00E3469E    33C0            xor     eax, eax                         ; EAX置零 
00E346A0    55              push    ebp
00E346A1    68 9447E300     push    00E34794
00E346A6    64:FF30         push    dword ptr fs:[eax]
00E346A9    64:8920         mov     dword ptr fs:[eax], esp
00E346AC    B8 50000000     mov     eax, 50                          ; EAX = 50
00E346B1    E8 CA43FBFF     call    00DE8A80
00E346B6    8945 F8         mov     dword ptr [ebp-8], eax           ; eax=021C27F4
00E346B9    8B45 FC         mov     eax, dword ptr [ebp-4]           ; ASCII ASCII "9876543210abcdef2468013579fedcba0592"
00E346BC    E8 07FFFAFF     call    00DE45C8                         ; 取字符串长度
00E346C1    8BF0            mov     esi, eax                         ; eax=00000010
00E346C3    D1FE            sar     esi, 1
00E346C5    79 03           jns     short 00E346CA                   ; //跳转(实现)
00E346C7    83D6 00         adc     esi, 0
00E346CA    85F6            test    esi, esi
00E346CC    7E 42           jle     short 00E34710                   ; //跳转(未实现)
00E346CE    BB 01000000     mov     ebx, 1                           ; EBX = 1
;---------------------------|
00E346D3    8BC3            mov     eax, ebx
00E346D5    03C0            add     eax, eax                         ; EAX = EAX + EAX
00E346D7    8B55 FC         mov     edx, dword ptr [ebp-4]           ; ASCII ASCII "9876543210abcdef2468013579fedcba0592"
00E346DA    0FB65402 FE     movzx   edx, byte ptr [edx+eax-2]        ; EDX = '9'
00E346DF    83EA 41         sub     edx, 41                          ; EDX = EDX - 41
00E346E2    6BD2 1A         imul    edx, edx, 1A                     ; EDX = EDX * 1A
00E346E5    8955 F4         mov     dword ptr [ebp-C], edx           ; [ebp-C] = EDX
00E346E8    8B55 FC         mov     edx, dword ptr [ebp-4]           ; ASCII ASCII "9876543210abcdef2468013579fedcba0592"
00E346EB    0FB64402 FF     movzx   eax, byte ptr [edx+eax-1]        ; '8'
00E346F0    83E8 41         sub     eax, 41                          ; EAX = EAX - 41
00E346F3    0145 F4         add     dword ptr [ebp-C], eax           ; [ebp-C] = [ebp-C] + EAX
00E346F6    8D45 EC         lea     eax, dword ptr [ebp-14]
00E346F9    8A55 F4         mov     dl, byte ptr [ebp-C]             ; dl = [ebp-C] = 27
00E346FC    E8 EFFDFAFF     call    00DE44F0
00E34701    8B55 EC         mov     edx, dword ptr [ebp-14]
00E34704    8D45 F0         lea     eax, dword ptr [ebp-10]
00E34707    E8 C4FEFAFF     call    00DE45D0
00E3470C    43              inc     ebx
00E3470D    4E              dec     esi
00E3470E  ^ 75 C3           jnz     short 00E346D3                   ; //循环
;---------------------------|
00E34710    8D45 FC         lea     eax, dword ptr [ebp-4]           ; 序列号地址
00E34713    8B55 F0         mov     edx, dword ptr [ebp-10]          ; 加密数值地址
;------|
021C2A4C  27 F1 BB 85 4F 61 97 CD 6D D9 36 88 F4 E6 B0 7A  '窕匫a椡m?堲姘z
021C2A5C  3A 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00  :!..............
;------|
00E34716    E8 8DFCFAFF     call    00DE43A8
00E3471B    8B45 FC         mov     eax, dword ptr [ebp-4]           ; 加密数值地址
00E3471E    E8 A5FEFAFF     call    00DE45C8
00E34723    8BF0            mov     esi, eax
00E34725    85F6            test    esi, esi
00E34727    7E 3A           jle     short 00E34763
00E34729    BB 01000000     mov     ebx, 1                           ; DI = 72
;---------------------------|
00E3472E    8D45 F0         lea     eax, dword ptr [ebp-10]          ; 加密数值地址
00E34731    E8 E200FBFF     call    00DE4818
00E34736    8B55 FC         mov     edx, dword ptr [ebp-4]           ; 加密数值地址
00E34739    8A541A FF       mov     dl, byte ptr [edx+ebx-1]         ; ds:[021C2860]=27 (''')
00E3473D    0FB7CF          movzx   ecx, di                          ; ECX = DI
00E34740    C1E9 08         shr     ecx, 8                           ; ECX = ECX / (2^8)
00E34743    32D1            xor     dl, cl                           ; dl = dl ^ cl
00E34745    885418 FF       mov     byte ptr [eax+ebx-1], dl         ; 保存数据
00E34749    8B45 FC         mov     eax, dword ptr [ebp-4]
00E3474C    0FB64418 FF     movzx   eax, byte ptr [eax+ebx-1]        ; ds:[021C2860]=27 (''')
00E34751    66:03F8         add     di, ax                           ; di = di + ax
00E34754    66:69C7 0404    imul    ax, di, 404                      ; ax = di * 404
00E34759    66:05 9E03      add     ax, 39E                          ; ax = ax + 39E
00E3475D    8BF8            mov     edi, eax
00E3475F    43              inc     ebx
00E34760    4E              dec     esi
00E34761  ^ 75 CB           jnz     short 00E3472E                   ; //
;---------------------------|

00E34763    8B55 F0         mov     edx, dword ptr [ebp-10]          ; 加密后的数据地址
00E34766    8B45 F8         mov     eax, dword ptr [ebp-8]
;------|
021C2620  27 9B C0 0D 4D 53 CB B7 C0 0F 9B B4 7A 0E E8 25  '浝.MS朔?洿z?
021C2630  F9 52 00 00 5A 00 00 00 54 00 00 00 27 9B C0 0D  鵕..Z...T...'浝.
;------|
00E34769    E8 B241FBFF     call    00DE8920
00E3476E    8945 F8         mov     dword ptr [ebp-8], eax
00E34771    33C0            xor     eax, eax                         ; //加密后的数据地址
00E34773    5A              pop     edx
00E34774    59              pop     ecx
00E34775    59              pop     ecx
00E34776    64:8910         mov     dword ptr fs:[eax], edx
00E34779    68 9B47E300     push    00E3479B
00E3477E    8D45 EC         lea     eax, dword ptr [ebp-14]
00E34781    BA 02000000     mov     edx, 2
00E34786    E8 A9FBFAFF     call    00DE4334
00E3478B    8D45 FC         lea     eax, dword ptr [ebp-4]
00E3478E    E8 7DFBFAFF     call    00DE4310
00E34793    C3              retn                                     ; //
00E34794  ^ E9 17F5FAFF     jmp     00DE3CB0
00E34799  ^ EB E3           jmp     short 00E3477E
00E3479B    8B45 F8         mov     eax, dword ptr [ebp-8]
00E3479E    5F              pop     edi
00E3479F    5E              pop     esi
00E347A0    5B              pop     ebx
00E347A1    8BE5            mov     esp, ebp
00E347A3    5D              pop     ebp
00E347A4    C3              retn                                     ; //
;====================================================================|

算法小结:

序列号sn长度需36位

string sn;
int x[18] = {};
for(int k =0; k < 18; k = k + 2)
    x[k] = (sn[k]- 0x41) * 0x1A + (sn[k+1] - 0x41);//取低两位   

int di = 0x72;
int y[18] = {};
for(int k =0; k < 18; k++)
{   
   y[k] = x[k] ^ (di / (2 ^ 8));//di取edi后四位
    edi = (di + x[k]) * 0x404 + 0x39E;
}

y[18]去掉前三个字节,转化为字符串
和机器码对比,相等则注册成功

由于判断注册正确与否的代码段是动态生成的,所以还无法静态打文件补丁:(
;--------------------------------------------------------------------|
算号~~~

机器码:015122-D01A31AF
edi = (di + x[k]) * 0x404 + 0x39E;

y[0] = 30
x[0] = 30 = BW
di = 8E26

8E
y[1] = 30
x[0] = BE = HI
di = CF2E

CF
y[2] = 30
x[2] = FF = JV
di = F852

F8
y[3] = 30
x[3] = C8 = HS
di = 5006

50
y[4] = 31
x[4] = 61 = DT
di = E13A

E1
y[5] = 35
x[5] = D4 = IE
di = C3D6

C3
y[6] = 31
x[6] = F2 = JI
di = 36BE

36
y[7] = 32
x[7] = 4 = AE
di = E6A6


E6
y[8] = 32
x[8] = D4 = IE
di = 8986

89
y[9] = 2D
x[9] = A4 = GI
di = D446

D4
y[10] = 44
x[10] = 90 = Ei
di = AEF6

AE
y[11] = 30
x[11] = 9E = GC
di = 11EE

11
y[12] = 31
x[12] = 20 = BG
di = 83D6

83
y[13] = 41
x[13] = C2 = HM
di = 75FE

75
y[14] = 33
x[14] = 46 = CS
di = ECAE

EC
y[15] = 31
x[15] = DD = IN
di = E5CA

E5
y[16] = 41
x[16] = A4 = GI
di = 5556

55
y[17] = 46
x[17] = 13 = AT
di = F6F6

序列号:BWHIJVHSDTIEJIAEIEGIEiGCBGHMCSINGIAT

输入序列号,程序提示注册成功,提示重启

让咱重启就重启,好家伙嘛
刚一登录就提示:
谢谢您对我们软件的认可,请尽快和我公司联系注册事宜!(tel:********)
之后,程序一闪退出

晕死,算了半天的号就白算了吗?我不服输,去校验

同样,bp MessageBoxA下断,再两次CTRL+F9,来到如下代码
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

006BC0BD   .  E8 868FD9FF   call    00455048
006BC0C2   .  E9 94000000   jmp     006BC15B
006BC0C7   >  33C0          xor     eax, eax
006BC0C9   .  55            push    ebp
006BC0CA   .  68 20C16B00   push    006BC120
006BC0CF   .  64:FF30       push    dword ptr fs:[eax]
006BC0D2   .  64:8920       mov     dword ptr fs:[eax], esp
006BC0D5   .  68 88D86B00   push    006BD888                         ;  ASCII "djb"
006BC0DA   .  E8 01280000   call    <jmp.&regdll.getregposl>
006BC0DF   .  48            dec     eax                       
006BC0E0   .  74 34         je      short 006BC116
006BC0E2   .  68 10100000   push    1010
006BC0E7   .  B9 34D86B00   mov     ecx, 006BD834
006BC0EC   .  BA 3CD86B00   mov     edx, 006BD83C
006BC0F1   .  A1 1CDE7D00   mov     eax, dword ptr [7DDE1C]
006BC0F6   .  8B00          mov     eax, dword ptr [eax]
006BC0F8   .  E8 67A6DBFF   call    00476764                        
006BC0FD   .  A1 1CDE7D00   mov     eax, dword ptr [7DDE1C]          ;  //停在这  
006BC102   .  8B00          mov     eax, dword ptr [eax]

在地址006BC0F8处应该是弹出对话框咯,把上面的je修改为jmp~ OD保存之

重新启动软件OK,软件正常运行,标题也显示为(正式版),功能上暂时未发现有何限制

TOP

我一直认为看你的算法分析很痛苦

还有,你应该把你下面的代码处理下,那样就会比较美观

TOP

引用:
原帖由 小子贼野 于 2008-2-23 13:58 发表
我一直认为看你的算法分析很痛苦

还有,你应该把你下面的代码处理下,那样就会比较美观
thx,已经禁用了签名解析和URL识别,可惜还是发生变换,无奈,i->k

我写的不是教材,算是分析提示吧
还是动手分析分析走几次更为妙

这个算法比iSkySoft算法还BT
验证比较好分析,但逆起来特别麻烦

TOP

Nice post!鹭兄的算法分析,越来越牛了!
在unpackcn上阅读了不少 小野兄弟 的文章,期待 小野 兄弟的好文!  :)

ps:先顶帖再说事,在发帖时把字体设置为宋体就OK了。
[From The InterNet,For The InterNet.]

TOP

引用:
原帖由 Cyg07 于 2008-2-23 15:58 发表
Nice post!鹭兄的算法分析,越来越牛了!
在unpackcn上阅读了不少 小野兄弟 的文章,期待 小野 兄弟的好文!  :)

ps:先顶帖再说事,在发帖时把字体设置为宋体就OK了。
别喊我小野,喊我小子!

你在UnpackCN上的ID是什么?

TOP

引用:
原帖由 鹭影依凌 于 2008-2-23 14:34 发表


thx,已经禁用了签名解析和URL识别,可惜还是发生变换,无奈,i->k

我写的不是教材,算是分析提示吧
还是动手分析分析走几次更为妙

这个算法比iSkySoft算法还BT
验证比较好分析,但逆起来特别麻烦
那以后就别说你的文章是算法分析,不然打你PP!

你比它BT:)

TOP

引用:
原帖由 小子贼野 于 2008-2-23 22:44 发表


别喊我小野,喊我小子!

你在UnpackCN上的ID是什么?
- -! 汗一个先,喊你小野比较顺口吖,跟我某位同学一样(不过我喊他野人)~~哈哈
在unpack上我也叫Cyg07, 0_0~~
[From The InterNet,For The InterNet.]

TOP

引用:
原帖由 Cyg07 于 2008-2-23 23:52 发表

- -! 汗一个先,喊你小野比较顺口吖,跟我某位同学一样(不过我喊他野人)~~哈哈
在unpack上我也叫Cyg07, 0_0~~
- -#

你比较有与众不同的精神

看到了

刚刚才看到的

高手啊

膜拜下先

以后你要多教我东西喔

TOP

还有

Cyg07

你的头像很抽象

TOP

损我...小野同学...咱们同属菜鸟一族,共同学习~
对拉,把你QQ信息PM给我下,我加下你。
咱们几个一起混吧...呵呵
头像问题,你得问黑鹰。。。
不过我正打算向K老大学习做只很黄,很暴力的动物头像。。。
[From The InterNet,For The InterNet.]

TOP

好难啊,看到头晕晕的。
机器码:015122-D01A31AF
edi = (di + x[k]) * 0x404 + 0x39E;

y[0] = 30
x[0] = 30 = BW
di = 8E26

8E
y[1] = 30
x[0] = BE = HI
di = CF2E

CF
y[2] = 30
x[2] = FF = JV
di = F852

F8
y[3] = 30
x[3] = C8 = HS
di = 5006

50
y[4] = 31
x[4] = 61 = DT
di = E13A

E1
y[5] = 35
x[5] = D4 = IE
di = C3D6

C3
y[6] = 31
x[6] = F2 = JI
di = 36BE

36
y[7] = 32
x[7] = 4 = AE
di = E6A6


E6
y[8] = 32
x[8] = D4 = IE
di = 8986

89
y[9] = 2D
x[9] = A4 = GI
di = D446

D4
y[10] = 44
x[10] = 90 = Ei
di = AEF6

AE
y[11] = 30
x[11] = 9E = GC
di = 11EE

11
y[12] = 31
x[12] = 20 = BG
di = 83D6

83
y[13] = 41
x[13] = C2 = HM
di = 75FE

75
y[14] = 33
x[14] = 46 = CS
di = ECAE

EC
y[15] = 31
x[15] = DD = IN
di = E5CA

E5
y[16] = 41
x[16] = A4 = GI
di = 5556

55
y[17] = 46
x[17] = 13 = AT
di = F6F6
这段是什么意思啊。

TOP

引用:
原帖由 getnet 于 2008-2-25 11:48 发表
好难啊,看到头晕晕的。
机器码:015122-D01A31AF
edi = (di + x[k]) * 0x404 + 0x39E;

y[0] = 30
x[0] = 30 = BW
di = 8E26

8E
y[1] = 30
x[0] = BE = HI
di = CF2E

CF
y[2] = 30
x[2] = FF = JV ...
程序对前三位不进行校验,但不能为0数据
所以可以假设第一次加密生成的是'0','0','0'....
当然也可以是别的
然后根据y计算x
然后根据x计算当次的di
取di的高两位,进行下一次的循环

TOP

引用:
原帖由 Cyg07 于 2008-2-24 01:28 发表
损我...小野同学...咱们同属菜鸟一族,共同学习~
对拉,把你QQ信息PM给我下,我加下你。
咱们几个一起混吧...呵呵
头像问题,你得问黑鹰。。。
不过我正打算向K老大学习做只很黄,很暴力的动物头像。。。
老K的头像也比较抽象
已经PM了
一起混可以
你要带我啊

TOP

很明显 已经不是一个层次上的人了

TOP

楼主,假如不看算法的话,嘿嘿,regdll这个干掉以后,再把主程序爆一下,如何呢?

regdll搞定,全系列搞定???哈哈。。。。。。

TOP

 17 12
发新话题