飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 12197|回复: 18

[原创] 最新里诺全系列(单机版)算法分析以及暗桩消除

  [复制链接]
  • TA的每日心情
    难过
    2024-3-10 19:49
  • 签到天数: 473 天

    [LV.9]以坛为家II

    发表于 2015-3-21 16:04:32 | 显示全部楼层 |阅读模式
    本帖最后由 Dxer 于 2021-2-5 18:05 编辑

    【破文作者】[PDG]Dxer
    【作者邮箱】bbs.chinapyg.com
    【作者主页】www.chinapyg.com
    破解工具】OD,Dede
    【破解平台】xp sp3
    【软件名称】里诺图书管理系统V2.39(单机版)
    【软件大小】10.8MB
    【原版下载】http://crm.lenosoft.net/
    【保护方式】注册码
    【软件简介】完善的图书租借管理是书店或图书馆健康运作的一个重要标志。里诺图书租借软件简单易用,可方便地帮助你对读者、图书和期刊进行相关租借管理,
    协助您完成图书的借还分析,自动统计各项数据,为您大大节省工作时间,提高工作效率。里诺图书管理系统 将是您明智的选择。

    软件还有以下特色特点:
      1、全方位的图书和期刊管理功能,包括图书和期刊的征订、注销、借阅和归还以及对图书超期欠款情况统计分析的全方位管理;
      2、全方位的读者管理功能;
      3、完备的数据字典功能,方便你设置各项基础数据;
      4、完备的查询功能,让您快速而准确地找到所需要的图书资料;
      5、强大的统计功能为业务分析和业务决策提供了有利的条件;
      6、支持自定义报表,可以任意更换打印机及纸张类型,支持套打;
      7、强大的Excel导入功能,支持导入读者、图书信息和期刊信息;
      8、完善的权限管理和数据库备份功能;

      目前,里诺图书管理系统的用户遍及各类图书馆。
    【破解声明】
    ------------------------------------------------------------------------
    【破解过程】
    定位到关键算法Call:

    [Asm] 纯文本查看 复制代码
    007EC9AE    E8 29ABF2FF     CALL    book.007174DC                              ; 关键算法Call
    007EC9B3    8B95 90FBFFFF   MOV     EDX, DWORD PTR SS:[EBP-0x470]
    007EC9B9    A1 240B8300     MOV     EAX, DWORD PTR DS:[0x830B24]
    007EC9BE    8B00            MOV     EAX, DWORD PTR DS:[EAX]
    007EC9C0 >  8B80 A4050000   MOV     EAX, DWORD PTR DS:[EAX+0x5A4]              ; *Qry_BookBorrow3:TADOQuery


    做内存注册机的地方

    [Asm] 纯文本查看 复制代码
    007EC9C6 >  E8 5181C1FF     CALL    book.00404B1C                              ; ->System.@LStrCmp;做内存注册机
    

    进入call(007EC9AE)后

    [Asm] 纯文本查看 复制代码
    00717502    55              PUSH    EBP                                        ; 算法开始
    00717503    68 9D767100     PUSH    book.0071769D
    00717508    64:FF30         PUSH    DWORD PTR FS:[EAX]
    0071750B    64:8920         MOV     DWORD PTR FS:[EAX], ESP
    0071750E    8BC7            MOV     EAX, EDI
    00717510    E8 EBD1CEFF     CALL    book.00404700
    00717515    8B45 FC         MOV     EAX, DWORD PTR SS:[EBP-0x4]                ; 机器码
    00717518    E8 B3D4CEFF     CALL    book.004049D0
    0071751D    8BF0            MOV     ESI, EAX
    0071751F    85F6            TEST    ESI, ESI
    00717521    7E 26           JLE     SHORT book.00717549
    00717523    BB 01000000     MOV     EBX, 0x1
    00717528    8D4D EC         LEA     ECX, DWORD PTR SS:[EBP-0x14]
    0071752B    8B45 FC         MOV     EAX, DWORD PTR SS:[EBP-0x4]
    0071752E    0FB64418 FF     MOVZX   EAX, BYTE PTR DS:[EAX+EBX-0x1]
    00717533    33D2            XOR     EDX, EDX
    00717535    E8 1E2CCFFF     CALL    book.0040A158
    0071753A    8B55 EC         MOV     EDX, DWORD PTR SS:[EBP-0x14]
    0071753D    8D45 F8         LEA     EAX, DWORD PTR SS:[EBP-0x8]
    00717540    E8 93D4CEFF     CALL    book.004049D8
    00717545    43              INC     EBX
    00717546    4E              DEC     ESI
    00717547  ^ 75 DF           JNZ     SHORT book.00717528
    00717549    8B45 F8         MOV     EAX, DWORD PTR SS:[EBP-0x8]                ; 机器码转ascii
    0071754C    E8 7FD4CEFF     CALL    book.004049D0                              ; 3030303030303030303030303030303030303031
    00717551    8BF0            MOV     ESI, EAX
    00717553    85F6            TEST    ESI, ESI
    00717555    7E 2C           JLE     SHORT book.00717583
    00717557    BB 01000000     MOV     EBX, 0x1
    0071755C    8B45 F8         MOV     EAX, DWORD PTR SS:[EBP-0x8]                ; 3030303030303030303030303030303030303031
    0071755F    E8 6CD4CEFF     CALL    book.004049D0
    00717564    2BC3            SUB     EAX, EBX
    00717566    8B55 F8         MOV     EDX, DWORD PTR SS:[EBP-0x8]                ; 31
    00717569    8A1402          MOV     DL, BYTE PTR DS:[EDX+EAX]
    0071756C    8D45 E8         LEA     EAX, DWORD PTR SS:[EBP-0x18]
    0071756F    E8 74D3CEFF     CALL    book.004048E8
    00717574    8B55 E8         MOV     EDX, DWORD PTR SS:[EBP-0x18]               ; 1
    00717577    8D45 F4         LEA     EAX, DWORD PTR SS:[EBP-0xC]
    0071757A    E8 59D4CEFF     CALL    book.004049D8
    0071757F    43              INC     EBX
    00717580    4E              DEC     ESI
    00717581  ^ 75 D9           JNZ     SHORT book.0071755C
    00717583    8D45 F8         LEA     EAX, DWORD PTR SS:[EBP-0x8]
    00717586    50              PUSH    EAX                                        ; 倒序str
    00717587    B9 04000000     MOV     ECX, 0x4                                   ; 取前四位
    0071758C    BA 01000000     MOV     EDX, 0x1
    00717591    8B45 F4         MOV     EAX, DWORD PTR SS:[EBP-0xC]                ; (ASCII "1303030303030303030303030303030303030303")
    00717594    E8 97D6CEFF     CALL    book.00404C30
    00717599    8D45 F4         LEA     EAX, DWORD PTR SS:[EBP-0xC]
    0071759C    50              PUSH    EAX
    0071759D    B9 04000000     MOV     ECX, 0x4
    007175A2    BA 05000000     MOV     EDX, 0x5
    007175A7    8B45 F4         MOV     EAX, DWORD PTR SS:[EBP-0xC]
    007175AA    E8 81D6CEFF     CALL    book.00404C30
    007175AF    8B45 F8         MOV     EAX, DWORD PTR SS:[EBP-0x8]                ; 联接倒序前4位1303
    007175B2    E8 19D4CEFF     CALL    book.004049D0
    007175B7    83F8 04         CMP     EAX, 0x4
    007175BA    7D 2F           JGE     SHORT book.007175EB
    007175BC    8B45 F8         MOV     EAX, DWORD PTR SS:[EBP-0x8]
    007175BF    E8 0CD4CEFF     CALL    book.004049D0
    007175C4    8BD8            MOV     EBX, EAX
    007175C6    83FB 03         CMP     EBX, 0x3
    007175C9    7F 20           JG      SHORT book.007175EB
    007175CB    8D4D E4         LEA     ECX, DWORD PTR SS:[EBP-0x1C]
    007175CE    8BC3            MOV     EAX, EBX
    007175D0    C1E0 02         SHL     EAX, 0x2
    007175D3    33D2            XOR     EDX, EDX
    007175D5    E8 7E2BCFFF     CALL    book.0040A158
    007175DA    8B55 E4         MOV     EDX, DWORD PTR SS:[EBP-0x1C]
    007175DD    8D45 F8         LEA     EAX, DWORD PTR SS:[EBP-0x8]
    007175E0    E8 F3D3CEFF     CALL    book.004049D8
    007175E5    43              INC     EBX
    007175E6    83FB 04         CMP     EBX, 0x4
    007175E9  ^ 75 E0           JNZ     SHORT book.007175CB
    007175EB    8B45 F4         MOV     EAX, DWORD PTR SS:[EBP-0xC]                ; 第五位-第八位做最后码
    007175EE    E8 DDD3CEFF     CALL    book.004049D0
    007175F3    83F8 04         CMP     EAX, 0x4
    007175F6    7D 2F           JGE     SHORT book.00717627
    007175F8    8B45 F4         MOV     EAX, DWORD PTR SS:[EBP-0xC]
    007175FB    E8 D0D3CEFF     CALL    book.004049D0
    00717600    8BD8            MOV     EBX, EAX
    00717602    83FB 03         CMP     EBX, 0x3
    00717605    7F 20           JG      SHORT book.00717627
    00717607    8D4D E0         LEA     ECX, DWORD PTR SS:[EBP-0x20]
    0071760A    8BC3            MOV     EAX, EBX
    0071760C    C1E0 02         SHL     EAX, 0x2
    0071760F    33D2            XOR     EDX, EDX
    00717611    E8 422BCFFF     CALL    book.0040A158
    00717616    8B55 E0         MOV     EDX, DWORD PTR SS:[EBP-0x20]
    00717619    8D45 F4         LEA     EAX, DWORD PTR SS:[EBP-0xC]
    0071761C    E8 B7D3CEFF     CALL    book.004049D8
    00717621    43              INC     EBX
    00717622    83FB 04         CMP     EBX, 0x4
    00717625  ^ 75 E0           JNZ     SHORT book.00717607
    00717627    8D45 F0         LEA     EAX, DWORD PTR SS:[EBP-0x10]
    0071762A    BA B4767100     MOV     EDX, book.007176B4                         ; Booksr649dj5
    0071762F    E8 64D1CEFF     CALL    book.00404798
    00717634    8D45 DC         LEA     EAX, DWORD PTR SS:[EBP-0x24]
    00717637    50              PUSH    EAX
    00717638    B9 04000000     MOV     ECX, 0x4
    0071763D    BA 01000000     MOV     EDX, 0x1
    00717642    8B45 F0         MOV     EAX, DWORD PTR SS:[EBP-0x10]
    00717645    E8 E6D5CEFF     CALL    book.00404C30
    0071764A    FF75 DC         PUSH    DWORD PTR SS:[EBP-0x24]                    ; 固定字符串前四位book
    0071764D    68 CC767100     PUSH    book.007176CC                              ; -
    00717652    FF75 F8         PUSH    DWORD PTR SS:[EBP-0x8]
    00717655    8D45 D8         LEA     EAX, DWORD PTR SS:[EBP-0x28]
    00717658    50              PUSH    EAX
    00717659    B9 05000000     MOV     ECX, 0x5
    0071765E    BA 05000000     MOV     EDX, 0x5
    00717663    8B45 F0         MOV     EAX, DWORD PTR SS:[EBP-0x10]
    00717666    E8 C5D5CEFF     CALL    book.00404C30
    0071766B    FF75 D8         PUSH    DWORD PTR SS:[EBP-0x28]                    ; sr649
    0071766E    68 CC767100     PUSH    book.007176CC                              ; -
    00717673    FF75 F4         PUSH    DWORD PTR SS:[EBP-0xC]                     ; 0303
    00717676    8BC7            MOV     EAX, EDI
    00717678    BA 06000000     MOV     EDX, 0x6
    0071767D    E8 0ED4CEFF     CALL    book.00404A90
    00717682    33C0            XOR     EAX, EAX
    00717684    5A              POP     EDX
    00717685    59              POP     ECX
    00717686    59              POP     ECX
    00717687    64:8910         MOV     DWORD PTR FS:[EAX], EDX
    0071768A    68 A4767100     PUSH    book.007176A4
    0071768F    8D45 D8         LEA     EAX, DWORD PTR SS:[EBP-0x28]
    00717692    BA 0A000000     MOV     EDX, 0xA
    00717697    E8 88D0CEFF     CALL    book.00404724
    0071769C    C3              RETN
    0071769D  ^ E9 DEC8CEFF     JMP     book.00403F80
    007176A2  ^ EB EB           JMP     SHORT book.0071768F
    007176A4    5F              POP     EDI
    007176A5    5E              POP     ESI
    007176A6    5B              POP     EBX
    007176A7    8BE5            MOV     ESP, EBP
    007176A9    5D              POP     EBP
    007176AA    C3              RETN

    一、里诺进销存管理软件(单机版)V6.10暗桩处:

    [Asm] 纯文本查看 复制代码
    00740E68    80B8 20090000 0>CMP     BYTE PTR DS:[EAX+0x920], 0x2     ; 把1改为2 消除暗桩1
    00740E6F    75 15           JNZ     SHORT jxc.00740E86               ; 此处75改74 消除暗桩1
    00740E71    8B45 FC         MOV     EAX, DWORD PTR SS:[EBP-0x4]
    00740E74    8B80 24030000   MOV     EAX, DWORD PTR DS:[EAX+0x324]
    00740E7A    BA FF000000     MOV     EDX, 0xFF
    00740E7F    E8 BC11D5FF     CALL    jxc.00492040
    00740E84    EB 13           JMP     SHORT jxc.00740E99
    00740E86    8B45 FC         MOV     EAX, DWORD PTR SS:[EBP-0x4]
    00740E89    8B80 24030000   MOV     EAX, DWORD PTR DS:[EAX+0x324]
    00740E8F    BA 00800000     MOV     EDX, 0x8000
    00740E94    E8 A711D5FF     CALL    jxc.00492040
    00740E99    A1 6C847A00     MOV     EAX, DWORD PTR DS:[0x7A846C]
    00740E9E    8B00            MOV     EAX, DWORD PTR DS:[EAX]
    00740EA0    80B8 21090000 0>CMP     BYTE PTR DS:[EAX+0x921], 0x2     ; 把1改为2 消除暗桩2
    00740EA7    75 15           JNZ     SHORT jxc.00740EBE               ; 此处75改74 消除暗桩2


    关于左下角会变成两个绿色框框

    二、里诺仓库管理软件(单机版) 6.05 暗桩处:
    [Asm] 纯文本查看 复制代码
    007D7C31    80B8 A5050000 0>CMP     BYTE PTR DS:[EAX+0x5A5], 0x0     ; 把0改1 去除暗桩1
    007D7C38    74 12           JE      SHORT Depot.007D7C4C             ; 也可以改这里74改75
    007D7C3A    BA FF000000     MOV     EDX, 0xFF
    007D7C3F    8B83 28030000   MOV     EAX, DWORD PTR DS:[EBX+0x328]
    007D7C45    E8 3687CBFF     CALL    Depot.00490380
    007D7C4A    EB 10           JMP     SHORT Depot.007D7C5C
    007D7C4C    BA 0000FF00     MOV     EDX, 0xFF0000
    007D7C51    8B83 28030000   MOV     EAX, DWORD PTR DS:[EBX+0x328]
    007D7C57    E8 2487CBFF     CALL    Depot.00490380
    007D7C5C    A1 4CA27F00     MOV     EAX, DWORD PTR DS:[0x7FA24C]
    007D7C61    8B00            MOV     EAX, DWORD PTR DS:[EAX]
    007D7C63    80B8 E1060000 0>CMP     BYTE PTR DS:[EAX+0x6E1], 0x0     ; 把0改1 去除暗桩2
    007D7C6A    74 12           JE      SHORT Depot.007D7C7E             ; 也可以改这里74改75


    关于左下角会变成两个蓝色框框

    三、里诺图书管理系统V2.39(单机版)暗桩处:


    [Asm] 纯文本查看 复制代码
    007F4E8D    80B8 E9050000 0>CMP     BYTE PTR DS:[EAX+0x5E9], 0x0     ; 这里只要大于1就可以了。测试证明可以。我改成2


    关于左下角会变成一个蓝色框框
    ------------------------------------------------------------------------
    【破解总结】
    初步猜测(由于本人刚接触算法很多不懂,错了.大家多多教育.)

    1.计算用户名转ascii码,然后倒序ascii码.

    2.固定字符串:Booksr649dj5,取前四位Book,联接符:"-" .倒序前四位1313,从Booksr649dj5第五位起到第九位sr649,联接符:"-"从1303030303030303030303030303030303030303第五位到第八位3030

    3.串联:Book-1303sr649-0303  里诺图书管理系统(单机版)   串联:DEPw-1303245d5-0303 里诺仓库管理软件(单机版)
       串联:JXCw-1303268d5-0303 里诺进销存管理软件(单机版)
       注册机编写,替换掉不同的部分就可以了。

    4.感谢数字兄弟的指导,感谢sgw888的教育。感谢飘云阁的各位大侠/

    5.注册表删除即可显示非注册:

    [Asm] 纯文本查看 复制代码
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\zy\Book]
    "Date"=hex:00,00,00,00,60,8c,e4,40
    "Name"="00000000000000000001"
    "Pass"="Book-1303sr649-0303"

    ------------------------------------------------------------------------
    C语言注册机源码(特此声明,此源码是Crack_QS手打上来的。感激不尽):

    [C] 纯文本查看 复制代码
    void CKeyGenDlg::OnBtnKeygen() 
    {
            /*
            1.用户名转str:3030303030303030303030303030303030303031
        2.倒序str:1303030303030303030303030303030303030303
        3.注册码构造 Book- 前四位sr649- 五-八位
            Book-1303sr649-0303
            */
            GetDlgItemText(IDC_EDIT_NAME,m_strName);
            if(m_strName.IsEmpty())
            {
                    ::MessageBox(m_hWnd,"用户名为空","提示",MB_OK);
                    return;
            }
            
            //获取成功处理数据
            char *pNameHex = GetHexData(m_strName);
            if(pNameHex == NULL)
            {
                    ::MessageBox(m_hWnd,"用户名处理失败","提示",MB_OK);
                    return;
            }
    
            //数据处理成功
            char szRegCode[20] = {
                    'B','o','o','k','-',
                    '\0','\0','\0','\0',
                    's','r','6','4','9','-',
                    '\0','\0','\0','\0'
            };
            szRegCode[5] = pNameHex[0];
            szRegCode[6] = pNameHex[1];
            szRegCode[7] = pNameHex[2];
            szRegCode[8] = pNameHex[3];
            szRegCode[15] = pNameHex[4];
            szRegCode[16] = pNameHex[5];
            szRegCode[17] = pNameHex[6];
            szRegCode[18] = pNameHex[7];
    
            SetDlgItemText(IDC_EDIT_REGCODE,szRegCode);
    }

    数字哥的对到了:
    QQ截图20150321161153.png

    我虚拟机的对到了:

    QQ截图20150321161321.png

    【版权声明】本文出自[PDG]Dxer,如需转载之类的.请注意说明本文来自飘云阁论坛.









    来自群组: 我们都爱月姐姐

    评分

    参与人数 1飘云币 +4 收起 理由
    飞天 + 4 赞一个!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2025-1-14 16:50
  • 签到天数: 1592 天

    [LV.Master]伴坛终老

    发表于 2015-3-21 21:16:02 | 显示全部楼层
    佩服算法分析高手。里诺的有暗桩,下面的红色方框就是。过了暗桩就不是红色了。

    点评

    我调试的时候,修改了一处地方后。他会变成蓝色,是那处暗桩么  详情 回复 发表于 2015-3-22 08:50
    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2024-3-10 19:49
  • 签到天数: 473 天

    [LV.9]以坛为家II

     楼主| 发表于 2015-3-22 08:50:14 | 显示全部楼层
    飞天 发表于 2015-3-21 21:16
    佩服算法分析高手。里诺的有暗桩,下面的红色方框就是。过了暗桩就不是红色了。

    我调试的时候,修改了一处地方后。他会变成蓝色,是那处暗桩么

    点评

    暗桩已经去除,你可以调试看看。  详情 回复 发表于 2015-3-22 11:30
    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2024-3-10 19:49
  • 签到天数: 473 天

    [LV.9]以坛为家II

     楼主| 发表于 2015-3-22 11:30:20 | 显示全部楼层
    Dxer 发表于 2015-3-22 08:50
    我调试的时候,修改了一处地方后。他会变成蓝色,是那处暗桩么

    暗桩已经去除,你可以调试看看。{:soso_e120:}
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2015-12-21 08:11
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2015-3-24 08:11:36 | 显示全部楼层
    谢谢了 哈哈 正需要
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2024-2-17 10:46
  • 签到天数: 927 天

    [LV.10]以坛为家III

    发表于 2015-3-27 09:15:08 | 显示全部楼层
    {:soso_e181:}厉害中,谢谢高手。多次感谢!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-10-19 08:50
  • 签到天数: 91 天

    [LV.6]常住居民II

    发表于 2015-4-2 01:28:10 | 显示全部楼层
    模仿方法做了一个易语言的,就是不知道暗装在那里
    怎么去除
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2016-5-10 09:25
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2015-4-9 15:48:58 | 显示全部楼层
    这个暗桩听说很难找到,膜拜
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2024-2-17 10:46
  • 签到天数: 927 天

    [LV.10]以坛为家III

    发表于 2015-4-18 09:20:12 | 显示全部楼层
    高明,很佩服你们的
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2015-4-19 06:42:57 | 显示全部楼层
    真是佩服佩服呀
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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