飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 7561|回复: 17

[原创] 分析主讲软件第二篇:精装友情通讯录算法分析 By:yAtEs 2010.5.30

  [复制链接]
  • TA的每日心情
    开心
    2022-11-26 13:46
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2010-5-30 10:27:11 | 显示全部楼层 |阅读模式
    分析主讲软件第二篇:精装友情通讯录算法分析 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

    感觉现在应该算是破解了,不知道程序还有什么暗桩没有-_-!

    胜利截图:

    注册成功.gif
    软件已注册.gif

    评分

    参与人数 1威望 +40 收起 理由
    月之精灵 + 40 您的贴子很精彩,希望能再次分享!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    昨天 14:44
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2010-5-30 10:40:11 | 显示全部楼层
    支持预习!!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2022-11-26 13:46
  • 签到天数: 7 天

    [LV.3]偶尔看看II

     楼主| 发表于 2010-5-30 10:42:45 | 显示全部楼层
    回复 2# tianxj
    继续努力ing……:victory:
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-5-30 11:58:16 | 显示全部楼层
    不错不错 ~ 两篇都送精华了~~
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-3-8 12:43
  • 签到天数: 92 天

    [LV.6]常住居民II

    发表于 2010-5-30 11:59:43 | 显示全部楼层
    好帖子。支持了。
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2019-3-12 17:25
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2010-5-30 12:07:39 | 显示全部楼层
    赶快过来膜拜!好帖!支持!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-5-30 12:53:33 | 显示全部楼层
    分析的真透彻,学习了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-3 23:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2010-5-30 13:09:27 | 显示全部楼层
    进来学习下,
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-5-30 13:15:36 | 显示全部楼层
    进来学习下,
    哎呀。楼主咋学习的呀,那么厉害。

    这些代码,对我来说,看了就头痛,硬着头皮看汇编的代码,真难啊。
    多谢楼主的好文章了。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-5-30 13:15:59 | 显示全部楼层
    不错哦!
      有点看不懂
    好好学习!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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