吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 4268|回复: 24

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

  [复制链接]
Shark_鹏 发表于 2015-3-24 15:57 | 显示全部楼层 |阅读模式

【保护方式】注册码
【软件简介】完善的图书租借管理是书店或图书馆健康运作的一个重要标志。里诺图书租借软件简单易用,可方便地帮助你对读者、图书和期刊进行相关租借管理,
协助您完成图书的借还分析,自动统计各项数据,为您大大节省工作时间,提高工作效率。里诺图书管理系统 将是您明智的选择。

软件还有以下特色特点:
  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:[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

做内存注册机的地方

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:[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暗桩处:

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 暗桩处:
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(单机版)暗桩处:


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.注册表删除即可显示非注册:

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手打上来的。感激不尽):

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);
}
数字哥的对到了:


我虚拟机的对到了:


评分

参与人数 19HB +24 THX +11 收起 理由
花盗睡鼠 + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
DDK4282 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
白白桃 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
Soul1999 + 1
后学真 + 1
sjtkxy + 1
娄胖胖 + 1
极速菜 + 1
消逝的过去 + 2
飞刀梦想 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
jaunic + 2
joker1917 + 1 + 1 [快捷评语]--你将受到所有人的崇拜!
leehelloGG + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
dzpos + 1 + 1 分享精神,是最值得尊敬的!
Scar-疤痕 + 3 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
vigers + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
Shark恒 + 6 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Scar-疤痕 发表于 2015-3-24 21:58 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lovejingqing 发表于 2015-10-30 20:26 | 显示全部楼层

感谢楼主的教程,在详细点就更好了。
新手才学,谢谢
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hero4588 发表于 2016-1-9 17:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lovejingqing 发表于 2016-1-29 13:38 | 显示全部楼层

不错谢谢,支持一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
刀口以后 发表于 2016-3-13 19:26 来自手机端 | 显示全部楼层

你好,那个暗桩怎么找到的?还想问下,里诺人事工资软件逆向后只有一个绿色方框。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
刀口以后 发表于 2016-3-13 19:26 来自手机端 | 显示全部楼层

你好,那个暗桩怎么找到的?还想问下,里诺人事工资软件逆向后只有一个绿色方框。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
dzpos 发表于 2016-4-1 21:19 | 显示全部楼层

回复 学习看看
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
xing7681 发表于 2018-5-10 13:27 | 显示全部楼层

0740E68    80B8 20090000 0>CMP     BYTE PTR DS:[EAX+0x920], 0x2     ; 把1改为2 消除暗桩1   谁能为我解答一下  这一句为何要改为0x1 0x2? 这一句是什么作用  是改变赋值 为下面的跳转条件变更做准备么?   
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
fajunlushi 发表于 2018-10-5 11:04 | 显示全部楼层

不错谢谢,支持一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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