您的位置:首页精文荟萃破解文章 → 光盘出租销售管理软件 算法分析

光盘出租销售管理软件 算法分析

时间:2004/10/15 0:53:00来源:本站整理作者:蓝点我要评论(0)

 

一个光盘管理软件算法分析.


【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
           如果作者看到.请加强软件自身加密力度,不敬之处请海量.

【过    程】:

侦察无壳DELPHI编写。动用DEDE细细查看,发现蛛丝马迹,调用OLLYDBG(我最爱用的^_^)下断拦截,



* Reference to control edRegCode : TdxEdit [15]
|
005D33B1   8B8310030000           mov     eax, [ebx+$0310]

|
005D33B7   E8482FE6FF             call    00436304
005D33BC   8B45FC                 mov     eax, [ebp-$04]

* Reference to : TRentalFm._PROC_005D2E28()
|
005D33BF   E864FAFFFF             call    005D2E28            杀进去瞧瞧.^_^
005D33C4   84C0                   test    al, al          进去看看上面的CALL怎么能出
005D33C6   743B                   jz      005D3403
005D33C8   A174CE6200             mov     eax, dword ptr [$0062CE74]
005D33CD   8B00                   mov     eax, [eax]
005D33CF   8B55FC                 mov     edx, [ebp-$04]

|
005D33D2   E80D6EFBFF             call    0058A1E4
005D33D7   6A00                   push    $00
005D33D9   668B0D48345D00         mov     cx, word ptr [$005D3448]
005D33E0   B202                   mov     dl, $02

* Possible String Reference to: '祝贺您,注册成功!'
|
005D33E2   B854345D00             mov     eax, $005D3454

|
005D33E7   E8DCE2E8FF             call    004616C8
005D33EC   8D8320030000           lea     eax, [ebx+$0320]
005D33F2   8B55FC                 mov     edx, [ebp-$04]

|
005D33F5   E8060BE3FF             call    00403F00
005D33FA   8BC3                   mov     eax, ebx

|
005D33FC   E897FEFFFF             call    005D3298
005D3401   EB23                   jmp     005D3426
005D3403   6A00                   push    $00
005D3405   668B0D48345D00         mov     cx, word ptr [$005D3448]
005D340C   B201                   mov     dl, $01

* Possible String Reference to: '对不起,注册失败,请校对注册码'
|
005D340E   B870345D00             mov     eax, $005D3470

|
005D3413   E8B0E2E8FF             call    004616C8

* Reference to control edRegCode : TdxEdit [15]
|
005D3418   8B8310030000           mov     eax, [ebx+$0310]
005D341E   8B10                   mov     edx, [eax]
005D3420   FF92B0000000           call    dword ptr [edx+$00B0]
005D3426   33C0                   xor     eax, eax
005D3428   5A                     pop     edx
005D3429   59                     pop     ecx
005D342A   59                     pop     ecx
005D342B   648910                 mov     fs:[eax], edx

****** FINALLY


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
进来 call    005D2E28
.........................    
005D2E53  |.  8B45 F4          MOV     EAX, DWORD PTR SS:[EBP-C]        ;  机器码=》EAXAX, D
005D2E56  |.  8D55 F8          LEA     EDX, DWORD PTR SS:[EBP-8]
005D2E59  |.  E8 46FFFFFF      CALL    CdBoss.005D2DA4               进去瞅瞅 .呵呵.
005D2E5E  |.  8B45 F8          MOV     EAX, DWORD PTR SS:[EBP-8]     这明码已经看到
005D2E61  |.  E8 FAFCFFFF      CALL    CdBoss.005D2B60            进去求的真码的值.
005D2E66  |.  8BD8             MOV     EBX, EAX
005D2E68  |.  8B45 FC          MOV     EAX, DWORD PTR SS:[EBP-4]
005D2E6B  |.  E8 F0FCFFFF      CALL    CdBoss.005D2B60            假码运算的值
005D2E70  |.  85C0             TEST    EAX, EAX                   不为零.哪跳...
005D2E72  |.  75 04            JNZ     SHORT CdBoss.005D2E78
005D2E74  |.  33DB             XOR     EBX, EBX
005D2E76  |.  EB 0A            JMP     SHORT CdBoss.005D2E82
005D2E78  |>  3BC3             CMP     EAX, EBX                   真假码的运算结果值相等吗?
005D2E7A  |.  75 04            JNZ     SHORT CdBoss.005D2E80     不等?:( 你该可怜了.
005D2E7C  |.  B3 01            MOV     BL, 1                     相等?:) 给你个糖吃.
005D2E7E  |.  EB 02            JMP     SHORT CdBoss.005D2E82
005D2E80  |>  33DB             XOR     EBX, EBX
005D2E82  |>  33C0             XOR     EAX, EAX
005D2E84  |.  5A               POP     EDX
005D2E85  |.  59               POP     ECX
005D2E86  |.  59               POP     ECX
005D2E87  |.  64:8910          MOV     DWORD PTR FS:[EAX], EDX
005D2E8A  |.  68 A42E5D00      PUSH    CdBoss.005D2EA4             EBX=EAX .呵呵.爽吧.
005D2E8F  |>  8D45 F4          LEA     EAX, DWORD PTR SS:[EBP-C]
005D2E92  |.  BA 03000000      MOV     EDX, 3
005D2E97  |.  E8 3410E3FF      CALL    CdBoss.00403ED0
005D2E9C  \.  C3               RETN


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
进来瞅瞅了.
005D2DA4  /$  55               PUSH    EBP
005D2DA5  |.  8BEC             MOV     EBP, ESP
005D2DA7  |.  83C4 F4          ADD     ESP, -0C
005D2DAA  |.  53               PUSH    EBX
005D2DAB  |.  56               PUSH    ESI
005D2DAC  |.  8BF2             MOV     ESI, EDX
005D2DAE  |.  8945 FC          MOV     DWORD PTR SS:[EBP-4], EAX
005D2DB1  |.  8B45 FC          MOV     EAX, DWORD PTR SS:[EBP-4]
005D2DB4  |.  E8 3715E3FF      CALL    CdBoss.004042F0
005D2DB9  |.  33C0             XOR     EAX, EAX
005D2DBB  |.  55               PUSH    EBP
005D2DBC  |.  68 1B2E5D00      PUSH    CdBoss.005D2E1B        
005D2DC1  |.  64:FF30          PUSH    DWORD PTR FS:[EAX]
005D2DC4  |.  64:8920          MOV     DWORD PTR FS:[EAX], ESP
005D2DC7  |.  8B45 FC          MOV     EAX, DWORD PTR SS:[EBP-4]
005D2DCA  |.  E8 91FDFFFF      CALL    CdBoss.005D2B60          ?(1)  进去瞧瞧
005D2DCF  |.  8BD8             MOV     EBX, EAX    (1)里出来的EAX=EBX
005D2DD1  |.  85DB             TEST    EBX, EBX
005D2DD3  |.  75 09            JNZ     SHORT CdBoss.005D2DDE  跳
005D2DD5  |.  8BC6             MOV     EAX, ESI
005D2DD7  |.  E8 D010E3FF      CALL    CdBoss.00403EAC
005D2DDC  |.  EB 27            JMP     SHORT CdBoss.005D2E05
005D2DDE  |>  2B1D 78CA6200    SUB     EBX, DWORD PTR DS:[62CA78]        EBX-034D82E6(固定值)
005D2DE4  |.  895D F4          MOV     DWORD PTR SS:[EBP-C], EBX        ;  EBX=FCB4304F
005D2DE7  |.  33C0             XOR     EAX, EAX
005D2DE9  |.  8945 F8          MOV     DWORD PTR SS:[EBP-8], EAX
005D2DEC  |.  DF6D F4          FILD    QWORD PTR SS:[EBP-C]            常数FCB4304F入ST(0)
005D2DEF  |.  DC0D 7CCA6200    FMUL    QWORD PTR DS:[62CA7C]     ST(0)= ST(0)*0.940428140000
005D2DF5  |.  E8 76FDE2FF      CALL    CdBoss.00402B70
005D2DFA  |.  8BD8             MOV     EBX, EAX                ;转换浮点前整数为16位值 EDA65ACD
005D2DFC  |.  8BD6             MOV     EDX, ESI                            
005D2DFE  |.  8BC3             MOV     EAX, EBX
005D2E00  |.  E8 67FCFFFF      CALL    CdBoss.005D2A6C     ?(2)  在去看看吧.^_^
005D2E05  |>  33C0             XOR     EAX, EAX
005D2E07  |.  5A               POP     EDX
005D2E08  |.  59               POP     ECX
005D2E09  |.  59               POP     ECX
005D2E0A  |.  64:8910          MOV     DWORD PTR FS:[EAX], EDX
005D2E0D  |.  68 222E5D00      PUSH    CdBoss.005D2E22            
005D2E12  |>  8D45 FC          LEA     EAX, DWORD PTR SS:[EBP-4]
005D2E15  |.  E8 9210E3FF      CALL    CdBoss.00403EAC
005D2E1A  \.  C3               RETN
##################################################################
(1)
005D2B60  /$  55               PUSH    EBP
005D2B61  |.  8BEC             MOV     EBP, ESP
005D2B63  |.  83C4 F8          ADD     ESP, -8
005D2B66  |.  53               PUSH    EBX
005D2B67  |.  56               PUSH    ESI
005D2B68  |.  33D2             XOR     EDX, EDX
005D2B6A  |.  8955 F8          MOV     DWORD PTR SS:[EBP-8], EDX
005D2B6D  |.  8945 FC          MOV     DWORD PTR SS:[EBP-4], EAX
005D2B70  |.  8B45 FC          MOV     EAX, DWORD PTR SS:[EBP-4]
005D2B73  |.  E8 7817E3FF      CALL    CdBoss.004042F0
005D2B78  |.  33C0             XOR     EAX, EAX
005D2B7A  |.  55               PUSH    EBP
005D2B7B  |.  68 3A2C5D00      PUSH    CdBoss.005D2C3A
005D2B80  |.  64:FF30          PUSH    DWORD PTR FS:[EAX]
005D2B83  |.  64:8920          MOV     DWORD PTR FS:[EAX], ESP
005D2B86  |.  8B55 FC          MOV     EDX, DWORD PTR SS:[EBP-4]
005D2B89  |.  B8 542C5D00      MOV     EAX, CdBoss.005D2C54
005D2B8E  |.  E8 9518E3FF      CALL    CdBoss.00404428
005D2B93  |.  85C0             TEST    EAX, EAX
005D2B95  |.  76 1F            JBE     SHORT CdBoss.005D2BB6
005D2B97  |>  8D55 FC          /LEA     EDX, DWORD PTR SS:[EBP-4]
005D2B9A  |.  B9 01000000      |MOV     ECX, 1                    此处循环将
005D2B9F  |.  92               |XCHG    EAX, EDX                  注册码中的  
005D2BA0  |.  E8 DF17E3FF      |CALL    CdBoss.00404384           "-"去掉!
005D2BA5  |.  8B55 FC          |MOV     EDX, DWORD PTR SS:[EBP-4]
005D2BA8  |.  B8 542C5D00      |MOV     EAX, CdBoss.005D2C54
005D2BAD  |.  E8 7618E3FF      |CALL    CdBoss.00404428
005D2BB2  |.  85C0             |TEST    EAX, EAX
005D2BB4  |.^ 77 E1            \JA      SHORT CdBoss.005D2B97
005D2BB6  |>  8B45 FC          MOV     EAX, DWORD PTR SS:[EBP-4]  去掉-的假码入EAX
005D2BB9  |.  E8 7E15E3FF      CALL    CdBoss.0040413C
005D2BBE  |.  83F8 08          CMP     EAX, 8         比较是否是8位.注册码需要的位数
005D2BC1  |.  74 04            JE      SHORT CdBoss.005D2BC7
005D2BC3  |.  33DB             XOR     EBX, EBX
005D2BC5  |.  EB 58            JMP     SHORT CdBoss.005D2C1F
005D2BC7  |>  8D55 F8          LEA     EDX, DWORD PTR SS:[EBP-8]
005D2BCA  |.  8B45 FC          MOV     EAX, DWORD PTR SS:[EBP-4]
005D2BCD  |.  E8 E66CE3FF      CALL    CdBoss.004098B8
005D2BD2  |.  33C9             XOR     ECX, ECX   ECX=0
005D2BD4  |.  33F6             XOR     ESI, ESI   ESI=0
005D2BD6  |.  B8 06000000      MOV     EAX, 6                           ;  eax=6
005D2BDB  |>  8B55 F8          /MOV     EDX, DWORD PTR SS:[EBP-8]  1机器码2真码3假码入EDX
005D2BDE  |.  0FB65402 FF      |MOVZX   EDX, BYTE PTR DS:[EDX+EAX-1]
                               依次取第6位-1位的HEX值                                
005D2BE3  |.  83EA 30          |SUB     EDX, 30     EDX=EDX-30
005D2BE6  |.  03F2             |ADD     ESI, EDX     ESI=ESI+EDX
005D2BE8  |.  03C9             |ADD     ECX, ECX
005D2BEA  |.  8D0C89           |LEA     ECX, DWORD PTR DS:[ECX+ECX*4]
005D2BED  |.  03D1             |ADD     EDX, ECX      总值赋予EDX
005D2BEF  |.  8BCA             |MOV     ECX, EDX       ECX=EDX
005D2BF1  |.  48               |DEC     EAX
005D2BF2  |.  85C0             |TEST    EAX, EAX   比较是否取完.
005D2BF4  |.^ 75 E5            \JNZ     SHORT CdBoss.005D2BDB
005D2BF6  |.  33D2             XOR     EDX, EDX
005D2BF8  |.  B8 08000000      MOV     EAX, 8          EAX=8
005D2BFD  |>  03D2             /ADD     EDX, EDX
005D2BFF  |.  8D1492           |LEA     EDX, DWORD PTR DS:[EDX+EDX*4]
005D2C02  |.  8B5D F8          |MOV     EBX, DWORD PTR SS:[EBP-8]
005D2C05  |.  0FB65C03 FF      |MOVZX   EBX, BYTE PTR DS:[EBX+EAX-1]
                              依次取8位和7位的HEX值.
005D2C0A  |.  83EB 30          |SUB     EBX, 30
005D2C0D  |.  03D3             |ADD     EDX, EBX
005D2C0F  |.  48               |DEC     EAX
005D2C10  |.  83F8 06          |CMP     EAX, 6
005D2C13  |.^ 75 E8            \JNZ     SHORT CdBoss.005D2BFD
005D2C15  |.  3BF2             CMP     ESI, EDX          
005D2C17  |.  74 04            JE      SHORT CdBoss.005D2C1D
005D2C19  |.  33DB             XOR     EBX, EBX
005D2C1B  |.  EB 02            JMP     SHORT CdBoss.005D2C1F
005D2C1D  |>  8BD9             MOV     EBX, ECX       ECX=EBX  第一次这个值后面需要
005D2C1F  |>  33C0             XOR     EAX, EAX
005D2C21  |.  5A               POP     EDX
005D2C22  |.  59               POP     ECX
005D2C23  |.  59               POP     ECX
005D2C24  |.  64:8910          MOV     DWORD PTR FS:[EAX], EDX
005D2C27  |.  68 412C5D00      PUSH    CdBoss.005D2C41    
005D2C2C  |>  8D45 F8          LEA     EAX, DWORD PTR SS:[EBP-8]  EAX=ECX的值
005D2C2F  |.  BA 02000000      MOV     EDX, 2
005D2C34  |.  E8 9712E3FF      CALL    CdBoss.00403ED0
005D2C39  \.  C3               RETN

###########################################################
(2)
``````
005D2A97  |.  BB 06000000      MOV     EBX, 6                  EBX=6
005D2A9C  |>  8B45 FC          /MOV     EAX, DWORD PTR SS:[EBP-4]    EDA65ACD=EAX
005D2A9F  |.  B9 0A000000      |MOV     ECX, 0A                      ECX=A
005D2AA4  |.  33D2             |XOR     EDX, EDX
005D2AA6  |.  F7F1             |DIV     ECX                     EAX/ECX  
005D2AA8  |.  8BF2             |MOV     ESI, EDX            取6次,为注册码前6位
005D2AAA  |.  03FE             |ADD     EDI, ESI                将余数相加存入EDI=B
005D2AAC  |.  8D45 F0          |LEA     EAX, DWORD PTR SS:[EBP-10]
005D2AAF  |.  8D56 30          |LEA     EDX, DWORD PTR DS:[ESI+30]
005D2AB2  |.  E8 9D15E3FF      |CALL    CdBoss.00404054
005D2AB7  |.  8B55 F0          |MOV     EDX, DWORD PTR SS:[EBP-10]
005D2ABA  |.  8D45 F4          |LEA     EAX, DWORD PTR SS:[EBP-C]
005D2ABD  |.  E8 8216E3FF      |CALL    CdBoss.00404144
005D2AC2  |.  8B45 FC          |MOV     EAX, DWORD PTR SS:[EBP-4]     EDA65ACD=EAX
005D2AC5  |.  B9 0A000000      |MOV     ECX, 0A
005D2ACA  |.  33D2             |XOR     EDX, EDX
005D2ACC  |.  F7F1             |DIV     ECX
005D2ACE  |.  8945 FC          |MOV     DWORD PTR SS:[EBP-4], EAX    商放入EBP-4
005D2AD1  |.  4B               |DEC     EBX
005D2AD2  |.^ 75 C8            \JNZ     SHORT CdBoss.005D2A9C    除完6次.就出来了.
005D2AD4  |.  BB 02000000      MOV     EBX, 2                     EBX=2
005D2AD9  |>  8BC7             /MOV     EAX, EDI                  EDI=EAX
005D2ADB  |.  B9 0A000000      |MOV     ECX, 0A                  
005D2AE0  |.  33D2             |XOR     EDX, EDX
005D2AE2  |.  F7F1             |DIV     ECX                      
005D2AE4  |.  8BF2             |MOV     ESI, EDX 余数放入ESI取2次,为注册码后2位
005D2AE6  |.  8D45 EC          |LEA     EAX, DWORD PTR SS:[EBP-14]
005D2AE9  |.  8D56 30          |LEA     EDX, DWORD PTR DS:[ESI+30]
005D2AEC  |.  E8 6315E3FF      |CALL    CdBoss.00404054
005D2AF1  |.  8B55 EC          |MOV     EDX, DWORD PTR SS:[EBP-14]
005D2AF4  |.  8D45 F4          |LEA     EAX, DWORD PTR SS:[EBP-C]
005D2AF7  |.  E8 4816E3FF      |CALL    CdBoss.00404144
005D2AFC  |.  8BC7             |MOV     EAX, EDI
005D2AFE  |.  B9 0A000000      |MOV     ECX, 0A
005D2B03  |.  33D2             |XOR     EDX, EDX
005D2B05  |.  F7F1             |DIV     ECX
005D2B07  |.  8BF8             |MOV     EDI, EAX               把商放入EDI
005D2B09  |.  4B               |DEC     EBX
005D2B0A  |.^ 75 CD            \JNZ     SHORT CdBoss.005D2AD9
005D2B0C  |.  8D55 F4          LEA     EDX, DWORD PTR SS:[EBP-C]
005D2B0F  |.  B9 05000000      MOV     ECX, 5
005D2B14  |.  B8 5C2B5D00      MOV     EAX, CdBoss.005D2B5C
005D2B19  |.  E8 AE18E3FF      CALL    CdBoss.004043CC
005D2B1E  |.  8B45 F8          MOV     EAX, DWORD PTR SS:[EBP-8] 真码前4位后加-
005D2B21  |.  8B55 F4          MOV     EDX, DWORD PTR SS:[EBP-C]   组成真码全部.
005D2B24  |.  E8 D713E3FF      CALL    CdBoss.00403F00
005D2B29  |.  33C0             XOR     EAX, EAX
005D2B2B  |.  5A               POP     EDX
005D2B2C  |.  59               POP     ECX
005D2B2D  |.  59               POP     ECX
005D2B2E  |.  64:8910          MOV     DWORD PTR FS:[EAX], EDX
005D2B31  |.  68 4B2B5D00      PUSH    CdBoss.005D2B4B
005D2B36  |>  8D45 EC          LEA     EAX, DWORD PTR SS:[EBP-14]
005D2B39  |.  BA 03000000      MOV     EDX, 3
005D2B3E  |.  E8 8D13E3FF      CALL    CdBoss.00403ED0
005D2B43  \.  C3               RETN


    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程