Dxer 发表于 2015-3-21 16:04:32

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

本帖最后由 Dxer 于 2021-2-5 18:05 编辑

【破文作者】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:

007EC9AE    E8 29ABF2FF   CALL    book.007174DC                              ; 关键算法Call
007EC9B3    8B95 90FBFFFF   MOV   EDX, DWORD PTR SS:
007EC9B9    A1 240B8300   MOV   EAX, DWORD PTR DS:
007EC9BE    8B00            MOV   EAX, DWORD PTR DS:
007EC9C0 >8B80 A4050000   MOV   EAX, DWORD PTR DS:            ; *Qry_BookBorrow3:TADOQuery

做内存注册机的地方

007EC9C6 >E8 5181C1FF   CALL    book.00404B1C                              ; ->System.@LStrCmp;做内存注册机

进入call(007EC9AE)后

00717502    55            PUSH    EBP                                        ; 算法开始
00717503    68 9D767100   PUSH    book.0071769D
00717508    64:FF30         PUSH    DWORD PTR FS:
0071750B    64:8920         MOV   DWORD PTR FS:, ESP
0071750E    8BC7            MOV   EAX, EDI
00717510    E8 EBD1CEFF   CALL    book.00404700
00717515    8B45 FC         MOV   EAX, DWORD PTR SS:                ; 机器码
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:
0071752B    8B45 FC         MOV   EAX, DWORD PTR SS:
0071752E    0FB64418 FF   MOVZX   EAX, BYTE PTR DS:
00717533    33D2            XOR   EDX, EDX
00717535    E8 1E2CCFFF   CALL    book.0040A158
0071753A    8B55 EC         MOV   EDX, DWORD PTR SS:
0071753D    8D45 F8         LEA   EAX, DWORD PTR SS:
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:                ; 机器码转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:                ; 3030303030303030303030303030303030303031
0071755F    E8 6CD4CEFF   CALL    book.004049D0
00717564    2BC3            SUB   EAX, EBX
00717566    8B55 F8         MOV   EDX, DWORD PTR SS:                ; 31
00717569    8A1402          MOV   DL, BYTE PTR DS:
0071756C    8D45 E8         LEA   EAX, DWORD PTR SS:
0071756F    E8 74D3CEFF   CALL    book.004048E8
00717574    8B55 E8         MOV   EDX, DWORD PTR SS:               ; 1
00717577    8D45 F4         LEA   EAX, DWORD PTR SS:
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:
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:                ; (ASCII "1303030303030303030303030303030303030303")
00717594    E8 97D6CEFF   CALL    book.00404C30
00717599    8D45 F4         LEA   EAX, DWORD PTR SS:
0071759C    50            PUSH    EAX
0071759D    B9 04000000   MOV   ECX, 0x4
007175A2    BA 05000000   MOV   EDX, 0x5
007175A7    8B45 F4         MOV   EAX, DWORD PTR SS:
007175AA    E8 81D6CEFF   CALL    book.00404C30
007175AF    8B45 F8         MOV   EAX, DWORD PTR SS:                ; 联接倒序前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:
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:
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:
007175DD    8D45 F8         LEA   EAX, DWORD PTR SS:
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:                ; 第五位-第八位做最后码
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:
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:
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:
00717619    8D45 F4         LEA   EAX, DWORD PTR SS:
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:
0071762A    BA B4767100   MOV   EDX, book.007176B4                         ; Booksr649dj5
0071762F    E8 64D1CEFF   CALL    book.00404798
00717634    8D45 DC         LEA   EAX, DWORD PTR SS:
00717637    50            PUSH    EAX
00717638    B9 04000000   MOV   ECX, 0x4
0071763D    BA 01000000   MOV   EDX, 0x1
00717642    8B45 F0         MOV   EAX, DWORD PTR SS:
00717645    E8 E6D5CEFF   CALL    book.00404C30
0071764A    FF75 DC         PUSH    DWORD PTR SS:                  ; 固定字符串前四位book
0071764D    68 CC767100   PUSH    book.007176CC                              ; -
00717652    FF75 F8         PUSH    DWORD PTR SS:
00717655    8D45 D8         LEA   EAX, DWORD PTR SS:
00717658    50            PUSH    EAX
00717659    B9 05000000   MOV   ECX, 0x5
0071765E    BA 05000000   MOV   EDX, 0x5
00717663    8B45 F0         MOV   EAX, DWORD PTR SS:
00717666    E8 C5D5CEFF   CALL    book.00404C30
0071766B    FF75 D8         PUSH    DWORD PTR SS:                  ; sr649
0071766E    68 CC767100   PUSH    book.007176CC                              ; -
00717673    FF75 F4         PUSH    DWORD PTR SS:                     ; 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:, EDX
0071768A    68 A4767100   PUSH    book.007176A4
0071768F    8D45 D8         LEA   EAX, DWORD PTR SS:
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暗桩处:

00740E68    80B8 20090000 0>CMP   BYTE PTR DS:, 0x2   ; 把1改为2 消除暗桩1
00740E6F    75 15         JNZ   SHORT jxc.00740E86               ; 此处75改74 消除暗桩1
00740E71    8B45 FC         MOV   EAX, DWORD PTR SS:
00740E74    8B80 24030000   MOV   EAX, DWORD PTR DS:
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:
00740E89    8B80 24030000   MOV   EAX, DWORD PTR DS:
00740E8F    BA 00800000   MOV   EDX, 0x8000
00740E94    E8 A711D5FF   CALL    jxc.00492040
00740E99    A1 6C847A00   MOV   EAX, DWORD PTR DS:
00740E9E    8B00            MOV   EAX, DWORD PTR DS:
00740EA0    80B8 21090000 0>CMP   BYTE PTR DS:, 0x2   ; 把1改为2 消除暗桩2
00740EA7    75 15         JNZ   SHORT jxc.00740EBE               ; 此处75改74 消除暗桩2

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

二、里诺仓库管理软件(单机版) 6.05 暗桩处:
007D7C31    80B8 A5050000 0>CMP   BYTE PTR DS:, 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:
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:
007D7C57    E8 2487CBFF   CALL    Depot.00490380
007D7C5C    A1 4CA27F00   MOV   EAX, DWORD PTR DS:
007D7C61    8B00            MOV   EAX, DWORD PTR DS:
007D7C63    80B8 E1060000 0>CMP   BYTE PTR DS:, 0x0   ; 把0改1 去除暗桩2
007D7C6A    74 12         JE      SHORT Depot.007D7C7E             ; 也可以改这里74改75

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

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


007F4E8D    80B8 E9050000 0>CMP   BYTE PTR DS:, 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.注册表删除即可显示非注册:

Windows Registry Editor Version 5.00


"Date"=hex:00,00,00,00,60,8c,e4,40
"Name"="00000000000000000001"
"Pass"="Book-1303sr649-0303"
------------------------------------------------------------------------
C语言注册机源码(特此声明,此源码是Crack_QS手打上来的。感激不尽):

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 = {
                'B','o','o','k','-',
                '\0','\0','\0','\0',
                's','r','6','4','9','-',
                '\0','\0','\0','\0'
      };
      szRegCode = pNameHex;
      szRegCode = pNameHex;
      szRegCode = pNameHex;
      szRegCode = pNameHex;
      szRegCode = pNameHex;
      szRegCode = pNameHex;
      szRegCode = pNameHex;
      szRegCode = pNameHex;

      SetDlgItemText(IDC_EDIT_REGCODE,szRegCode);
}
数字哥的对到了:


我虚拟机的对到了:



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









我们都爱月姐姐

飞天 发表于 2015-3-21 21:16:02

佩服算法分析高手。里诺的有暗桩,下面的红色方框就是。过了暗桩就不是红色了。

Dxer 发表于 2015-3-22 08:50:14

飞天 发表于 2015-3-21 21:16
佩服算法分析高手。里诺的有暗桩,下面的红色方框就是。过了暗桩就不是红色了。

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

Dxer 发表于 2015-3-22 11:30:20

Dxer 发表于 2015-3-22 08:50
我调试的时候,修改了一处地方后。他会变成蓝色,是那处暗桩么

暗桩已经去除,你可以调试看看。{:soso_e120:}

PY4 发表于 2015-3-24 08:11:36

谢谢了 哈哈 正需要

1552759476@ 发表于 2015-3-27 09:15:08

{:soso_e181:}厉害中,谢谢高手。多次感谢!

zz100179 发表于 2015-4-2 01:28:10

模仿方法做了一个易语言的,就是不知道暗装在那里
怎么去除

yuzhenyujia 发表于 2015-4-9 15:48:58

这个暗桩听说很难找到,膜拜

1552759476@ 发表于 2015-4-18 09:20:12

高明,很佩服你们的

而功夫 发表于 2015-4-19 06:42:57

真是佩服佩服呀
页: [1] 2
查看完整版本: 最新里诺全系列(单机版)算法分析以及暗桩消除