| 
注册时间2008-9-7
阅读权限30
最后登录1970-1-1UID56300 龙战于野 
 
 TA的每日心情|  | 开心 2024-8-15 13:22
 | 
|---|
 签到天数: 8 天 [LV.3]偶尔看看II | 
 
| 分析主讲软件第二篇:精装友情通讯录算法分析 By:yAtEs 2010.5.30 
 Borland Delphi 6.0 - 7.0
 
 定单号:65612
 注册码:12345
 
 F12暂停法回溯到关键位置:
 
 /////////////////////////////////////////////////////////////////////////////////////////////////////
 0051041D  |.  55            push    ebp
 0051041E  |.  68 8D065100   push    0051068D
 00510423  |.  64:FF30       push    dword ptr fs:[eax]
 00510426  |.  64:8920       mov     dword ptr fs:[eax], esp
 00510429  |.  68 80000000   push    80                        ; /BufSize = 80 (128.)
 0051042E  |.  8D85 7BFFFFFF lea     eax, dword ptr [ebp-85]   ; |
 00510434  |.  50            push    eax                       ; |Buffer
 00510435  |.  E8 D26CEFFF   call    <jmp.&kernel32.GetSystemD>; \GetSystemDirectoryA
 0051043A  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
 0051043D  |.  8D95 7BFFFFFF lea     edx, dword ptr [ebp-85]
 00510443  |.  B9 81000000   mov     ecx, 81
 00510448  |.  E8 3746EFFF   call    00404A84
 0051044D  |.  8D95 74FFFFFF lea     edx, dword ptr [ebp-8C]
 00510453  |.  8B83 34030000 mov     eax, dword ptr [ebx+334]
 00510459  |.  E8 D20BF3FF   call    00441030
 0051045E  |.  83BD 74FFFFFF>cmp     dword ptr [ebp-8C], 0     ;  //判断是否输入注册码
 00510465  |.  74 1A         je      short 00510481            ;  //跳则失败
 00510467  |.  8D95 70FFFFFF lea     edx, dword ptr [ebp-90]
 0051046D  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
 00510473  |.  E8 B80BF3FF   call    00441030
 00510478  |.  83BD 70FFFFFF>cmp     dword ptr [ebp-90], 0     ;  //判断是否输入定单号
 0051047F  |.  75 0F         jnz     short 00510490            ;  //不跳则失败
 00510481  |>  B8 A4065100   mov     eax, 005106A4
 00510486  |.  E8 999DF2FF   call    0043A224
 0051048B  |.  E9 80010000   jmp     00510610
 00510490  |>  8D95 6CFFFFFF lea     edx, dword ptr [ebp-94]
 00510496  |.  8B83 34030000 mov     eax, dword ptr [ebx+334]
 0051049C  |.  E8 8F0BF3FF   call    00441030
 005104A1  |.  8B85 6CFFFFFF mov     eax, dword ptr [ebp-94]
 005104A7  |.  50            push    eax
 005104A8  |.  8D95 60FFFFFF lea     edx, dword ptr [ebp-A0]
 005104AE  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
 005104B4  |.  E8 770BF3FF   call    00441030
 005104B9  |.  8B85 60FFFFFF mov     eax, dword ptr [ebp-A0]   ;  //取定单号
 005104BF  |.  E8 5C8EEFFF   call    00409320                  ;  //定单号转换为十六进制存入EAX
 005104C4  |.  B9 D1000000   mov     ecx, 0D1                  ;  //0D1存入ECX
 005104C9  |.  99            cdq
 005104CA  |.  F7F9          idiv    ecx                       ;  //EAX÷ECX,商送EAX,余送EDX
 005104CC  |.  8BC2          mov     eax, edx                  ;  //余数C3送入EAX
 005104CE  |.  8D95 64FFFFFF lea     edx, dword ptr [ebp-9C]
 005104D4  |.  E8 E38DEFFF   call    004092BC                  ;  //取余数十进制数
 005104D9  |.  FFB5 64FFFFFF push    dword ptr [ebp-9C]        ;  //C3=195
 005104DF  |.  8D95 54FFFFFF lea     edx, dword ptr [ebp-AC]
 005104E5  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
 005104EB  |.  E8 400BF3FF   call    00441030
 005104F0  |.  8B85 54FFFFFF mov     eax, dword ptr [ebp-AC]   ;  //取定单号
 005104F6  |.  E8 258EEFFF   call    00409320                  ;  //取定单号的十六进制存入EAX
 005104FB  |.  8D95 58FFFFFF lea     edx, dword ptr [ebp-A8]
 00510501  |.  E8 C6FCFFFF   call    005101CC                  ;  //第一次跟进
 00510506  |.  8B85 58FFFFFF mov     eax, dword ptr [ebp-A8]   ;  //66502174
 0051050C  |.  E8 0F8EEFFF   call    00409320                  ;  //66502174的十六进制存入EAX
 00510511  |.  8D95 5CFFFFFF lea     edx, dword ptr [ebp-A4]
 00510517  |.  E8 90FDFFFF   call    005102AC                  ;  //第二次跟进
 0051051C  |.  FFB5 5CFFFFFF push    dword ptr [ebp-A4]        ;  //37l2x544~g5273
 00510522  |.  68 C4065100   push    005106C4                  ;  //!
 00510527  |.  8D85 68FFFFFF lea     eax, dword ptr [ebp-98]
 0051052D  |.  BA 03000000   mov     edx, 3
 00510532  |.  E8 5D46EFFF   call    00404B94
 00510537  |.  8B95 68FFFFFF mov     edx, dword ptr [ebp-98]   ;  //真码出现:19537l2x544~g5273!
 0051053D  |.  58            pop     eax                       ;  //假码
 0051053E  |.  E8 D546EFFF   call    00404C18                  ;  //真假码比较CALL
 00510543  |.  0F85 A3000000 jnz     005105EC                  ;  //关键跳,跳向注册失败!
 00510549  |.  B8 D0065100   mov     eax, 005106D0
 0051054E  |.  E8 D19CF2FF   call    0043A224                  ;  //注册成功
 00510553  |.  A1 14BA5100   mov     eax, dword ptr [51BA14]
 00510558  |.  8B00          mov     eax, dword ptr [eax]
 0051055A  |.  8B80 18030000 mov     eax, dword ptr [eax+318]
 00510560  |.  8B80 08020000 mov     eax, dword ptr [eax+208]
 00510566  |.  33D2          xor     edx, edx
 00510568  |.  E8 87ECF5FF   call    0046F1F4
 0051056D  |.  BA F4065100   mov     edx, 005106F4
 00510572  |.  E8 D9EBF5FF   call    0046F150
 00510577  |.  8D85 50FFFFFF lea     eax, dword ptr [ebp-B0]
 0051057D  |.  B9 10075100   mov     ecx, 00510710             ;  ASCII "\hdwlz.dll"
 00510582  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
 00510585  |.  E8 9645EFFF   call    00404B20
 0051058A  |.  8B8D 50FFFFFF mov     ecx, dword ptr [ebp-B0]
 00510590  |.  B2 01         mov     dl, 1
 00510592  |.  A1 C4264600   mov     eax, dword ptr [4626C4]
 00510597  |.  E8 D821F5FF   call    00462774
 0051059C  |.  8BF0          mov     esi, eax
 0051059E  |.  8D95 4CFFFFFF lea     edx, dword ptr [ebp-B4]
 005105A4  |.  8B83 10030000 mov     eax, dword ptr [ebx+310]
 005105AA  |.  E8 810AF3FF   call    00441030
 005105AF  |.  8B85 4CFFFFFF mov     eax, dword ptr [ebp-B4]
 005105B5  |.  50            push    eax
 005105B6  |.  B9 24075100   mov     ecx, 00510724             ;  ASCII "setet567"
 005105BB  |.  BA 38075100   mov     edx, 00510738             ;  ASCII "sym"
 005105C0  |.  8BC6          mov     eax, esi
 005105C2  |.  8B18          mov     ebx, dword ptr [eax]
 005105C4  |.  FF53 04       call    dword ptr [ebx+4]
 005105C7  |.  8D85 48FFFFFF lea     eax, dword ptr [ebp-B8]
 005105CD  |.  B9 44075100   mov     ecx, 00510744             ;  ASCII "\hdw1z.dll"
 005105D2  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
 005105D5  |.  E8 4645EFFF   call    00404B20
 005105DA  |.  8B85 48FFFFFF mov     eax, dword ptr [ebp-B8]
 005105E0  |.  BA 02000000   mov     edx, 2
 005105E5  |.  E8 7E8FEFFF   call    00409568
 005105EA  |.  EB 24         jmp     short 00510610
 005105EC  |>  B8 58075100   mov     eax, 00510758
 005105F1  |.  E8 2E9CF2FF   call    0043A224                  ;  //注册失败
 ///////////////////////////////////////////第一次跟进来到这里////////////////////////////////////////
 005101CC  /$  55            push    ebp
 005101CD  |.  8BEC          mov     ebp, esp
 005101CF  |.  33C9          xor     ecx, ecx
 005101D1  |.  51            push    ecx
 005101D2  |.  51            push    ecx
 005101D3  |.  51            push    ecx
 005101D4  |.  51            push    ecx
 005101D5  |.  53            push    ebx
 005101D6  |.  56            push    esi
 005101D7  |.  8BF2          mov     esi, edx
 005101D9  |.  8BD8          mov     ebx, eax
 005101DB  |.  33C0          xor     eax, eax
 005101DD  |.  55            push    ebp
 005101DE  |.  68 9C025100   push    0051029C
 005101E3  |.  64:FF30       push    dword ptr fs:[eax]
 005101E6  |.  64:8920       mov     dword ptr fs:[eax], esp
 005101E9  |.  81F3 F1250B00 xor     ebx, 0B25F1               ;  //定单号十六进制与0B25F1进行异或运算
 005101EF  |.  8BC3          mov     eax, ebx
 005101F1  |.  33D2          xor     edx, edx
 005101F3  |.  52            push    edx
 005101F4  |.  50            push    eax
 005101F5  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
 005101F8  |.  E8 EF90EFFF   call    004092EC                  ;  //将上面异或运算得出的结果转换为十进制
 005101FD  |.  8B45 FC       mov     eax, dword ptr [ebp-4]    ;  //665021
 00510200  |.  0FB600        movzx   eax, byte ptr [eax]       ;  //取665021第一位ASCII存入EAX
 00510203  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
 00510206  |.  0FB652 01     movzx   edx, byte ptr [edx+1]     ;  //取665021第二位ASCII存入EDX
 0051020A  |.  03C2          add     eax, edx                  ;  //相加
 0051020C  |.  B9 05000000   mov     ecx, 5                    ;  //5存入ECX
 00510211  |.  99            cdq
 00510212  |.  F7F9          idiv    ecx                       ;  //EAX÷ECX,商送EAX,余数送EDX
 00510214  |.  80C2 34       add     dl, 34                    ;  //余数+34
 00510217  |.  8855 F8       mov     byte ptr [ebp-8], dl      ;  //计算得37(7)
 0051021A  |.  8B45 FC       mov     eax, dword ptr [ebp-4]    ;  //665021
 0051021D  |.  0FB640 02     movzx   eax, byte ptr [eax+2]     ;  //取665021第三位ASCII存入EAX
 00510221  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
 00510224  |.  0FB652 03     movzx   edx, byte ptr [edx+3]     ;  //取665021第四位ASCII存入EDX
 00510228  |.  03C2          add     eax, edx                  ;  //相加
 0051022A  |.  B9 05000000   mov     ecx, 5                    ;  //5存入ECX
 0051022F  |.  99            cdq
 00510230  |.  F7F9          idiv    ecx                       ;  //EAX÷ECX,商送EAX,余数送EDX
 00510232  |.  8BDA          mov     ebx, edx                  ;  //余数送入EBX
 00510234  |.  80C3 33       add     bl, 33                    ;  //余数+33
 00510237  |.  885D F9       mov     byte ptr [ebp-7], bl      ;  //计算得34(4)
 0051023A  |.  8D45 F4       lea     eax, dword ptr [ebp-C]
 0051023D  |.  8A55 F8       mov     dl, byte ptr [ebp-8]
 00510240  |.  E8 B747EFFF   call    004049FC
 00510245  |.  8B45 F4       mov     eax, dword ptr [ebp-C]
 00510248  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
 0051024B  |.  B9 1B000000   mov     ecx, 1B
 00510250  |.  E8 5F4BEFFF   call    00404DB4                  ;  //6650217
 00510255  |.  8D45 F0       lea     eax, dword ptr [ebp-10]
 00510258  |.  8BD3          mov     edx, ebx
 0051025A  |.  E8 9D47EFFF   call    004049FC
 0051025F  |.  8B45 F0       mov     eax, dword ptr [ebp-10]
 00510262  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
 00510265  |.  B9 19000000   mov     ecx, 19
 0051026A  |.  E8 454BEFFF   call    00404DB4                  ;  //66502174
 ///////////////////////////////////////////第二次跟进来到这里////////////////////////////////////////
 005102AC  /$  55            push    ebp
 005102AD  |.  8BEC          mov     ebp, esp
 005102AF  |.  33C9          xor     ecx, ecx
 005102B1  |.  51            push    ecx
 005102B2  |.  51            push    ecx
 005102B3  |.  51            push    ecx
 005102B4  |.  51            push    ecx
 005102B5  |.  51            push    ecx
 005102B6  |.  51            push    ecx
 005102B7  |.  53            push    ebx
 005102B8  |.  56            push    esi
 005102B9  |.  8BF2          mov     esi, edx
 005102BB  |.  8BD8          mov     ebx, eax
 005102BD  |.  33C0          xor     eax, eax
 005102BF  |.  55            push    ebp
 005102C0  |.  68 F8035100   push    005103F8
 005102C5  |.  64:FF30       push    dword ptr fs:[eax]
 005102C8  |.  64:8920       mov     dword ptr fs:[eax], esp
 005102CB  |.  81F3 8776FBDD xor     ebx, DDFB7687             ;  //66502174的十六进制数与DDFB7687异或
 005102D1  |.  8BC3          mov     eax, ebx
 005102D3  |.  33D2          xor     edx, edx
 005102D5  |.  52            push    edx
 005102D6  |.  50            push    eax
 005102D7  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
 005102DA  |.  E8 0D90EFFF   call    004092EC                  ;  //将上面异或运算得出的结果转换为十进制
 005102DF  |.  8B45 FC       mov     eax, dword ptr [ebp-4]    ;  //3725445273
 005102E2  |.  0FB600        movzx   eax, byte ptr [eax]       ;  //取3725445273第一位ASCII存入EAX
 005102E5  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
 005102E8  |.  0FB652 01     movzx   edx, byte ptr [edx+1]     ;  //取3725445273第二位ASCII存入EDX
 005102EC  |.  03C2          add     eax, edx                  ;  //相加
 005102EE  |.  B9 05000000   mov     ecx, 5                    ;  //5存入ECX
 005102F3  |.  99            cdq
 005102F4  |.  F7F9          idiv    ecx                       ;  //EAX÷ECX,商送EAX,余数送EDX
 005102F6  |.  80C2 66       add     dl, 66                    ;  //余数+66
 005102F9  |.  8855 F8       mov     byte ptr [ebp-8], dl      ;  //计算得67(g)
 005102FC  |.  8B45 FC       mov     eax, dword ptr [ebp-4]    ;  //3725445273
 005102FF  |.  0FB640 02     movzx   eax, byte ptr [eax+2]     ;  //取3725445273第三位ASCII存入EAX
 00510303  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
 00510306  |.  0FB652 03     movzx   edx, byte ptr [edx+3]     ;  //取3725445273第四位ASCII存入EDX
 0051030A  |.  03C2          add     eax, edx                  ;  //相加
 0051030C  |.  B9 05000000   mov     ecx, 5                    ;  //5存入ECX
 00510311  |.  99            cdq
 00510312  |.  F7F9          idiv    ecx                       ;  //EAX÷ECX,商送EAX,余数送EDX
 00510314  |.  80C2 75       add     dl, 75                    ;  //余数+75
 00510317  |.  8855 F9       mov     byte ptr [ebp-7], dl      ;  //计算得78(x)
 0051031A  |.  8B45 FC       mov     eax, dword ptr [ebp-4]    ;  //3725445273
 0051031D  |.  0FB640 04     movzx   eax, byte ptr [eax+4]     ;  //取3725445273第五位ASCII存入EAX
 00510321  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
 00510324  |.  0FB652 05     movzx   edx, byte ptr [edx+5]     ;  //取3725445273第六位ASCII存入EDX
 00510328  |.  03C2          add     eax, edx                  ;  //相加
 0051032A  |.  B9 05000000   mov     ecx, 5                    ;  //5存入ECX
 0051032F  |.  99            cdq
 00510330  |.  F7F9          idiv    ecx                       ;  //EAX÷ECX,商送EAX,余数送EDX
 00510332  |.  80C2 7A       add     dl, 7A                    ;  //余数+7A
 00510335  |.  8855 FA       mov     byte ptr [ebp-6], dl      ;  //计算得7E(~)
 00510338  |.  8B45 FC       mov     eax, dword ptr [ebp-4]    ;  //3725445273
 0051033B  |.  0FB640 06     movzx   eax, byte ptr [eax+6]     ;  //取3725445273第七位ASCII存入EAX
 0051033F  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
 00510342  |.  0FB652 07     movzx   edx, byte ptr [edx+7]     ;  //取3725445273第八位ASCII存入EDX
 00510346  |.  03C2          add     eax, edx                  ;  //相加
 00510348  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
 0051034B  |.  0FB652 08     movzx   edx, byte ptr [edx+8]     ;  //取3725445273第九位ASCII存入EDX
 0051034F  |.  03C2          add     eax, edx                  ;  //与上面的和相加
 00510351  |.  B9 05000000   mov     ecx, 5                    ;  //5存入ECX
 00510356  |.  99            cdq
 00510357  |.  F7F9          idiv    ecx                       ;  //EAX÷ECX,商送EAX,余数送EDX
 00510359  |.  80C2 69       add     dl, 69                    ;  //余数+69
 0051035C  |.  8855 FB       mov     byte ptr [ebp-5], dl      ;  //计算得6C(l)
 0051035F  |.  8D45 F4       lea     eax, dword ptr [ebp-C]
 00510362  |.  8A55 F8       mov     dl, byte ptr [ebp-8]      ;  //g
 00510365  |.  E8 9246EFFF   call    004049FC
 0051036A  |.  8B45 F4       mov     eax, dword ptr [ebp-C]
 0051036D  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
 00510370  |.  B9 07000000   mov     ecx, 7
 00510375  |.  E8 3A4AEFFF   call    00404DB4                  ;  //372544g5273
 0051037A  |.  8D45 F0       lea     eax, dword ptr [ebp-10]
 0051037D  |.  8A55 FB       mov     dl, byte ptr [ebp-5]      ;  //l
 00510380  |.  E8 7746EFFF   call    004049FC
 00510385  |.  8B45 F0       mov     eax, dword ptr [ebp-10]
 00510388  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
 0051038B  |.  B9 03000000   mov     ecx, 3
 00510390  |.  E8 1F4AEFFF   call    00404DB4                  ;  //37l2544g5273
 00510395  |.  8D45 EC       lea     eax, dword ptr [ebp-14]
 00510398  |.  8A55 F9       mov     dl, byte ptr [ebp-7]      ;  //x
 0051039B  |.  E8 5C46EFFF   call    004049FC
 005103A0  |.  8B45 EC       mov     eax, dword ptr [ebp-14]
 005103A3  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
 005103A6  |.  B9 05000000   mov     ecx, 5
 005103AB  |.  E8 044AEFFF   call    00404DB4                  ;  //37l2x544g5273
 005103B0  |.  8D45 E8       lea     eax, dword ptr [ebp-18]
 005103B3  |.  8A55 FA       mov     dl, byte ptr [ebp-6]      ;  //~
 005103B6  |.  E8 4146EFFF   call    004049FC
 005103BB  |.  8B45 E8       mov     eax, dword ptr [ebp-18]
 005103BE  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
 005103C1  |.  B9 09000000   mov     ecx, 9
 005103C6  |.  E8 E949EFFF   call    00404DB4                  ;  //37l2x544~g5273
 /////////////////////////////////////////////////////////////////////////////////////////////////////
 
 ///.定单号必须是数字;设定单号为:65612
 ///.定单号十六进制÷0D1的余数转换为十进制作为注册码的第一部分(1~3位);
 65612转换为十六进制=1004C;1004C÷0D1=139……C3;C3转换为十进制=195;
 ///.定单号的十六进制数与0B25F1进行异或运算,运算得出的结果转换为十进制;
 xor 1004C,0B25F1=A25BD;A25BD转换为十进制=665021;设665021为Sn1;
 Sn1.X代表Sn.1的第X位;
 (Sn1.1 + Sn1.2)÷5=[商.1] + [余数.1];[余数.1] + 34 = 37(7);
 (Sn1.3 + Sn1.4)÷5=[商.2] + [余数.2];[余数.2] + 33 = 34(4);
 上面得出的字符跟Sn1连接起来=66502174;
 ///.66502174的十六进制数与DDFB7687进行异或运算,运算得出的结果转换为十进制;
 66502174转换为十六进制=3F6BE1E;
 xor 3F6BE1E, DDFB7687=DE0DC899;DE0DC899转换为十进制=3725445273;设3725445273为Sn2;
 Sn2.Y代表Sn.1的第Y位;
 (Sn2.1 + Sn2.2)÷5=[商.3] + [余数.3];[余数.3] + 66 = 67(g);
 (Sn2.3 + Sn2.4)÷5=[商.4] + [余数.4];[余数.4] + 75 = 78(x);
 (Sn2.5 + Sn2.6)÷5=[商.5] + [余数.5];[余数.5] + 7A = 7E(~);
 [(Sn2.7 + Sn2.8) + Sn2.9]÷5=[商.6] + [余数.6];[余数.6] + 69 = 6C(l);
 将上面得出的字符与Sn2组合=37l2x544~g5273;组合后的字符串作为注册码的第二部分(4~17位);
 ///.注册码第三部分固定“!”(18位);
 ///.将三部分字符串组合起来即可得出注册码19537l2x544~g5273!
 ///.一组可以显示注册成功的注册码:
 
 定单号:65612
 注册码:19537l2x544~g5273!
 
 经过昨天的教训,想着Nisy主讲的软件应该不是特别简单,软件本身肯定有猫腻之处^_^,昨天的那个软件我虽然可以
 注册成功,也分析出自认为正确的算法,但是不能成功的将图片转换为图标文件-_-!,今天这个精装友情通讯录按照
 上面的分析得出的注册码可以临时注册成功,重启的话还是会显示“软件未注册”,不知道是怎么回事了,按照我以前
 的想法,爆破的话若修改的不是关键位置重启验证部分过不了关可能只是表面上显示注册成功,而软件的功能限制可能
 未全部解除,输入注册码正确的话一般都会解除功能限制,记得以前分析考试宝典的时候那个软件是追出注册码以后重
 新安装软件输入注册码即可解开题库,今天调试的这个程序就不行,不知道该怎么办了,期待能加入第十轮教学找出问
 题的答案,进一步提高自己的水平^_^
 
 ///.后续爆破:
 
 打开C32Asm查找字符串开始爆破:
 
 ::00511739::  BA F81A5100              MOV EDX,511AF8     \->: 精装友情-软件未注册
 ::005147FC::  BA 144C5100              MOV EDX,514C14     \->: 精装友情-软件未注册
 
 ::0051056D::  BA F4065100              MOV EDX,5106F4     \->: 精装友情-软件已注册
 ::0051481B::  BA 304C5100              MOV EDX,514C30     \->: 精装友情-软件已注册
 
 ::00511745::  B8 141B5100              MOV EAX,511B14     \->: 软件未注册,功能限制。\x0D\x0A\x0D\x0A请及时注册软件!
 //////////////////////////////////////////////////////////////////////////////////////////////////////////
 005147E0  |.  E8 734DEFFF   call    00409558                         ;  //进去修改标志位
 005147E5  |.  84C0          test    al, al
 005147E7  |.  75 1F         jnz     short 00514808
 005147E9  |.  8B83 18030000 mov     eax, dword ptr [ebx+318]
 005147EF  |.  8B80 08020000 mov     eax, dword ptr [eax+208]
 005147F5  |.  33D2          xor     edx, edx
 005147F7  |.  E8 F8A9F5FF   call    0046F1F4
 005147FC  |.  BA 144C5100   mov     edx, 00514C14                    ;  \->: 精装友情-软件未注册
 00514801  |.  E8 4AA9F5FF   call    0046F150
 00514806  |.  EB 1D         jmp     short 00514825
 00514808  |>  8B83 18030000 mov     eax, dword ptr [ebx+318]
 0051480E  |.  8B80 08020000 mov     eax, dword ptr [eax+208]
 00514814  |.  33D2          xor     edx, edx
 00514816  |.  E8 D9A9F5FF   call    0046F1F4
 0051481B  |.  BA 304C5100   mov     edx, 00514C30                    ;  \->: 精装友情-软件已注册
 00514820  |.  E8 2BA9F5FF   call    0046F150
 //////////////////////////////////////////////////////////////////////////////////////////////////////////
 00409558  /$  53            push    ebx
 00409559  |.  8BD8          mov     ebx, eax
 0040955B  |.  8BC3          mov     eax, ebx
 0040955D  |.  E8 8EFFFFFF   call    004094F0
 00409562  |.  40            inc     eax
 00409563  |.  0F95C0        setne   al                               ;  //将这里改为sete,谢谢N大在标志位爆破SPX对setne的讲解
 00409566  |.  5B            pop     ebx
 00409567  \.  C3            retn
 //////////////////////////////////////////////////////////////////////////////////////////////////////////
 00511743  |. /75 0F         jnz     short 00511754               ;  //将这里改为无条件跳转Jmp,以防万一^_^
 00511745  |. |B8 141B5100   mov     eax, 00511B14                ;  \->: 软件未注册,功能限制。\x0D\x0A\x0D\x0A请及时注册软件!
 0051174A  |. |E8 D58AF2FF   call    0043A224
 0051174F  |. |E9 4D030000   jmp     00511AA1
 
 感觉现在应该算是破解了,不知道程序还有什么暗桩没有-_-!
 
 胜利截图:
 
 
   
   | 
 评分
查看全部评分
 |