飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3259|回复: 0

[原创] 【破文标题】SQL管理器 5.0解码分析

[复制链接]
  • TA的每日心情
    慵懒
    2019-1-18 17:27
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2007-12-15 17:30:16 | 显示全部楼层 |阅读模式
    【破文标题】SQL管理器 5.0解码分析
    【破文作者】lzq1973[PYG][CZG][OCN][DFCG][D4.s]
    【作者邮箱】lzq9888@126.com
    【作者主页】http://my.winzheng.com/?455397
    破解工具】OD、PEiD、C32Asm
    【破解平台】WinXP
    【软件名称】SQL管理器 5.0
    【软件大小】363KB
    【原版下载】http://www.sharebank.com.cn/soft/SoftView_24394.htm

    【保护方式】SN
    【软件简介】功能说明:
    1、实现远程连接数据服务器。
    2、对数据库进行“备份、恢复、日志文件清除”。
    3、提取多个表的结构,并可保存。
    4、可以把表中记录直接生成“Insert、Delete、Update”语句,便于使用。
    5、可以直接提取表中记录值。
    6、可以对多表进行备份。
    7、可以直接在此运行SQL语句。

    【破解声明】俺是只小小鸟,纯为学习,愿与大家分享!
    ------------------------------------------------------------------------
    【破解过程】   OD载入,来到这里

    004C6991   .  50            push    eax
    004C6992   .  B9 02000080   mov     ecx, 80000002
    004C6997   .  BA 546D4C00   mov     edx, 004C6D54                    ;  serialno
    004C699C   .  B8 686D4C00   mov     eax, 004C6D68                    ;  software\microsoft\windows\currentversion\explorer\movecont_sql
    004C69A1   .  E8 AEFAFFFF   call    004C6454
    004C69A6   .  8D45 EC       lea     eax, [ebp-14]
    004C69A9   .  50            push    eax
    004C69AA   .  8D45 E8       lea     eax, [ebp-18]
    004C69AD   .  50            push    eax
    004C69AE   .  8D45 E4       lea     eax, [ebp-1C]
    004C69B1   .  E8 6AEAFFFF   call    004C5420
    004C69B6   .  8B45 E4       mov     eax, [ebp-1C]
    004C69B9   .  8BCE          mov     ecx, esi
    004C69BB   .  8BD3          mov     edx, ebx
    004C69BD   .  E8 36E8FFFF   call    004C51F8
    004C69C2   .  8B45 E8       mov     eax, [ebp-18]                    ;  机器码(ASCII "00096535")
    004C69C5   .  8B4D 0C       mov     ecx, [ebp+C]
    004C69C8   .  8BD7          mov     edx, edi
    004C69CA   .  E8 6DE6FFFF   call    004C503C                         ;  关键处
    004C69CF   .  8B55 EC       mov     edx, [ebp-14]                    ;  (ASCII "5885-0-480-0")
    004C69D2   .  8B45 F4       mov     eax, [ebp-C]
    004C69D5   .  E8 EAE0F3FF   call    00404AC4
    004C69DA   .  75 1A         jnz     short 004C69F6
    004C69DC   .  8B45 08       mov     eax, [ebp+8]
    004C69DF   .  BA B06D4C00   mov     edx, 004C6DB0                    ;  1

    =====================004C69CA   .  E8 6DE6FFFF   call    004C503C==================

    004C503C  /$  55            push    ebp
    004C503D  |.  8BEC          mov     ebp, esp
    004C503F  |.  51            push    ecx
    004C5040  |.  B9 07000000   mov     ecx, 7
    004C5045  |>  6A 00         /push    0
    004C5047  |.  6A 00         |push    0
    004C5049  |.  49            |dec     ecx
    004C504A  |.^ 75 F9         \jnz     short 004C5045
    004C504C  |.  874D FC       xchg    [ebp-4], ecx
    004C504F  |.  53            push    ebx
    004C5050  |.  56            push    esi
    004C5051  |.  8BF1          mov     esi, ecx
    004C5053  |.  8BDA          mov     ebx, edx
    004C5055  |.  8945 FC       mov     [ebp-4], eax                     ;  机器码(ASCII "00096535")
    004C5058  |.  8B45 FC       mov     eax, [ebp-4]
    004C505B  |.  E8 08FBF3FF   call    00404B68
    004C5060  |.  33C0          xor     eax, eax
    004C5062  |.  55            push    ebp
    004C5063  |.  68 CF514C00   push    004C51CF
    004C5068  |.  64:FF30       push    dword ptr fs:[eax]
    004C506B  |.  64:8920       mov     fs:[eax], esp
    004C506E  |.  8D45 F8       lea     eax, [ebp-8]
    004C5071  |.  50            push    eax
    004C5072  |.  8D45 E0       lea     eax, [ebp-20]
    004C5075  |.  50            push    eax
    004C5076  |.  B9 02000000   mov     ecx, 2                           ;  取前2位
    004C507B  |.  33D2          xor     edx, edx
    004C507D  |.  8B45 FC       mov     eax, [ebp-4]
    004C5080  |.  E8 53FBF3FF   call    00404BD8
    004C5085  |.  8B45 E0       mov     eax, [ebp-20]                    ;  (ASCII "00")
    004C5088  |.  E8 9740F4FF   call    00409124
    004C508D  |.  F7EB          imul    ebx                              ; |EAX=EBX×EAX
    004C508F  |.  8945 E4       mov     [ebp-1C], eax                    ; |EBP1C=EAX
    004C5092  |.  C645 E8 00    mov     byte ptr [ebp-18], 0             ; |
    004C5096  |.  8D55 E4       lea     edx, [ebp-1C]                    ; |
    004C5099  |.  33C9          xor     ecx, ecx                         ; |
    004C509B  |.  B8 E8514C00   mov     eax, 004C51E8                    ; |ASCII "%d"
    004C50A0  |.  E8 D34BF4FF   call    00409C78                         ; \P_SQLMan.00409C78
    004C50A5  |.  8D45 F4       lea     eax, [ebp-C]
    004C50A8  |.  50            push    eax
    004C50A9  |.  8D45 DC       lea     eax, [ebp-24]
    004C50AC  |.  50            push    eax
    004C50AD  |.  B9 02000000   mov     ecx, 2                           ;  取2位
    004C50B2  |.  BA 02000000   mov     edx, 2                           ;  从第二位开始,即2、3位
    004C50B7  |.  8B45 FC       mov     eax, [ebp-4]
    004C50BA  |.  E8 19FBF3FF   call    00404BD8
    004C50BF  |.  8B45 DC       mov     eax, [ebp-24]
    004C50C2  |.  E8 5D40F4FF   call    00409124
    004C50C7  |.  F7EE          imul    esi                              ; |EAX=ESI×EAX
    004C50C9  |.  8945 E4       mov     [ebp-1C], eax                    ; |
    004C50CC  |.  C645 E8 00    mov     byte ptr [ebp-18], 0             ; |
    004C50D0  |.  8D55 E4       lea     edx, [ebp-1C]                    ; |
    004C50D3  |.  33C9          xor     ecx, ecx                         ; |
    004C50D5  |.  B8 E8514C00   mov     eax, 004C51E8                    ; |ASCII "%d"
    004C50DA  |.  E8 994BF4FF   call    00409C78                         ; \P_SQLMan.00409C78
    004C50DF  |.  8D45 F0       lea     eax, [ebp-10]
    004C50E2  |.  50            push    eax
    004C50E3  |.  8D45 D8       lea     eax, [ebp-28]
    004C50E6  |.  50            push    eax
    004C50E7  |.  B9 02000000   mov     ecx, 2                           ;  取2位
    004C50EC  |.  BA 04000000   mov     edx, 4                           ;  从第4位开始,即4、5位
    004C50F1  |.  8B45 FC       mov     eax, [ebp-4]
    004C50F4  |.  E8 DFFAF3FF   call    00404BD8
    004C50F9  |.  8B45 D8       mov     eax, [ebp-28]                    ;  (ASCII "96")
    004C50FC  |.  E8 2340F4FF   call    00409124
    004C5101  |.  F7EB          imul    ebx                              ; |EAX=EBX×EAX
    004C5103  |.  8945 E4       mov     [ebp-1C], eax                    ; |
    004C5106  |.  C645 E8 00    mov     byte ptr [ebp-18], 0             ; |
    004C510A  |.  8D55 E4       lea     edx, [ebp-1C]                    ; |
    004C510D  |.  33C9          xor     ecx, ecx                         ; |
    004C510F  |.  B8 E8514C00   mov     eax, 004C51E8                    ; |ASCII "%d"
    004C5114  |.  E8 5F4BF4FF   call    00409C78                         ; \P_SQLMan.00409C78
    004C5119  |.  8D45 EC       lea     eax, [ebp-14]
    004C511C  |.  50            push    eax
    004C511D  |.  8D45 D4       lea     eax, [ebp-2C]
    004C5120  |.  50            push    eax
    004C5121  |.  B9 03000000   mov     ecx, 3                           ;  取三位
    004C5126  |.  BA 06000000   mov     edx, 6                           ;  从第6位开始
    004C512B  |.  8B45 FC       mov     eax, [ebp-4]
    004C512E  |.  E8 A5FAF3FF   call    00404BD8
    004C5133  |.  8B45 D4       mov     eax, [ebp-2C]                    ;  (ASCII "535")
    004C5136  |.  E8 E93FF4FF   call    00409124
    004C513B  |.  F7EE          imul    esi                              ; |
    004C513D  |.  8945 E4       mov     [ebp-1C], eax                    ; |
    004C5140  |.  C645 E8 00    mov     byte ptr [ebp-18], 0             ; |
    004C5144  |.  8D55 E4       lea     edx, [ebp-1C]                    ; |
    004C5147  |.  33C9          xor     ecx, ecx                         ; |
    004C5149  |.  B8 E8514C00   mov     eax, 004C51E8                    ; |ASCII "%d"
    004C514E  |.  E8 254BF4FF   call    00409C78                         ; \P_SQLMan.00409C78
    004C5153  |.  8D55 D0       lea     edx, [ebp-30]
    004C5156  |.  8B45 EC       mov     eax, [ebp-14]                    ;  转为10进制 (ASCII "5885")
    004C5159  |.  E8 0A3CF4FF   call    00408D68
    004C515E  |.  FF75 D0       push    dword ptr [ebp-30]
    004C5161  |.  68 F4514C00   push    004C51F4
    004C5166  |.  8D55 CC       lea     edx, [ebp-34]
    004C5169  |.  8B45 F8       mov     eax, [ebp-8]                     ;  这里为  0
    004C516C  |.  E8 F73BF4FF   call    00408D68
    004C5171  |.  FF75 CC       push    dword ptr [ebp-34]
    004C5174  |.  68 F4514C00   push    004C51F4
    004C5179  |.  8D55 C8       lea     edx, [ebp-38]
    004C517C  |.  8B45 F0       mov     eax, [ebp-10]                    ;  转为10进制 (ASCII "480")
    004C517F  |.  E8 E43BF4FF   call    00408D68
    004C5184  |.  FF75 C8       push    dword ptr [ebp-38]
    004C5187  |.  68 F4514C00   push    004C51F4
    004C518C  |.  8D55 C4       lea     edx, [ebp-3C]
    004C518F  |.  8B45 F4       mov     eax, [ebp-C]                     ;  这里为  0
    004C5192  |.  E8 D13BF4FF   call    00408D68
    004C5197  |.  FF75 C4       push    dword ptr [ebp-3C]
    004C519A  |.  8B45 08       mov     eax, [ebp+8]
    004C519D  |.  BA 07000000   mov     edx, 7
    004C51A2  |.  E8 99F8F3FF   call    00404A40
    004C51A7  |.  33C0          xor     eax, eax
    004C51A9  |.  5A            pop     edx
    004C51AA  |.  59            pop     ecx
    004C51AB  |.  59            pop     ecx
    004C51AC  |.  64:8910       mov     fs:[eax], edx
    004C51AF  |.  68 D6514C00   push    004C51D6
    004C51B4  |>  8D45 C4       lea     eax, [ebp-3C]
    004C51B7  |.  BA 08000000   mov     edx, 8
    004C51BC  |.  E8 2BF5F3FF   call    004046EC
    004C51C1  |.  8D45 EC       lea     eax, [ebp-14]
    004C51C4  |.  BA 05000000   mov     edx, 5
    004C51C9  |.  E8 1EF5F3FF   call    004046EC
    004C51CE  \.  C3            retn
    004C51CF   .^ E9 3CEEF3FF   jmp     00404010
    004C51D4   .^ EB DE         jmp     short 004C51B4
    004C51D6   .  5E            pop     esi
    004C51D7   .  5B            pop     ebx
    004C51D8   .  8BE5          mov     esp, ebp
    004C51DA   .  5D            pop     ebp
    004C51DB   .  C2 0400       retn    4


    ------------------------------------------------------------------------
    【破解总结】
    1、取机器的第6、7、8位乘以11为SN1;
    2、取机器的前两位乘以5为SN2;
    3、取机器的第4、5位乘以5为SN3;
    4、取机器的第2、3位乘以11为SN4;
    5、SN=SN1+SN2+SN3+SN4
    注:这里的“+”为连接符

    注册机源码:

    .版本 2

    内容 = 编辑框1.内容
    len = 取文本长度 (内容)
    .如果 (编辑框1.内容 ≠ “”)
        sn1 = 取文本左边 (内容, 2)
        sn1 = 到文本 (到数值 (sn1) × 5)
        sn2 = 取文本中间 (内容, 2, 2)
        sn2 = 到文本 (到数值 (sn2) × 11)
        sn3 = 取文本中间 (内容, 4, 2)
        sn3 = 到文本 (到数值 (sn3) × 5)
        sn4 = 取文本中间 (内容, 6, 3)
        sn4 = 到文本 (到数值 (sn4) × 11)
        Sn = sn4 + “-” + sn1 + “-” + sn3 + “-” + sn2
        编辑框2.内容 = Sn
    .否则
        信息框 (“机器码是否输入正确?”, 0, “提示”)
       

    ------------------------------------------------------------------------
    【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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