zyyujq 发表于 2022-7-11 13:28

一款计算机安全保密检查软件的DEBUG

本帖最后由 zyyujq 于 2022-7-11 16:14 编辑

运行环境:WIN7、10
涉及工具:ExeinfoPe、x64dbg
教程类型:破解限制,算法分析等
是否讲解思路和原理:是 (讲解思路原理可获得精华)

以下为图文内容:软件界面:




软件运行后必须注册码、或者联系客服发送授权认证码,才能使用。


1、使用 ExeinfoPe 检查软件为VC++,未加密压缩:




2、使用 x64dbg 打开 CHECKSYSTEM 目录下的 ZHJSJZDBMJCXT.EXE(拼音缩写)


运行程序,不输入动态口令如图:



使用 X64DBG 搜索字符串:


查找动态口令为空:


鼠标点击第一个查询结果:
可见01328B69为输入动态口令为空的测试,将01328B6B的 74 7C 改为EB 7C 即 JE 语句改为 JMP,忽略口令为空。
01328AE0 | 55                  | push ebp                                       |
01328AE1 | 8BEC                  | mov ebp,esp                                    |
01328AE3 | 6A FF               | push FFFFFFFF                                    |
01328AE5 | 68 D7456801         | push 原文件.16845D7                     |
01328AEA | 64:A1 00000000      | mov eax,dword ptr fs:                         |
01328AF0 | 50                  | push eax                                       |
01328AF1 | 81EC 70010000         | sub esp,170                                    |
01328AF7 | A1 98178901         | mov eax,dword ptr ds:                   |
01328AFC | 33C5                  | xor eax,ebp                                    |
01328AFE | 8945 D8               | mov dword ptr ss:,eax                  |
01328B01 | 50                  | push eax                                       |
01328B02 | 8D45 F4               | lea eax,dword ptr ss:                     |
01328B05 | 64:A3 00000000      | mov dword ptr fs:,eax                         |
01328B0B | 898D A0FEFFFF         | mov dword ptr ss:,ecx                   |
01328B11 | 6A 70               | push 70                                          |
01328B13 | 6A 00               | push 0                                           |
01328B15 | 8B85 A0FEFFFF         | mov eax,dword ptr ss:                   |
01328B1B | 05 08050000         | add eax,508                                    |
01328B20 | 50                  | push eax                                       |
01328B21 | E8 8A4D3200         | call 原文件.164D8B0                     |
01328B26 | 83C4 0C               | add esp,C                                        |
01328B29 | 8B4D 08               | mov ecx,dword ptr ss:                     |
01328B2C | C701 00000000         | mov dword ptr ds:,0                         |
01328B32 | 8D4D EC               | lea ecx,dword ptr ss:                  |
01328B35 | E8 E630F9FF         | call 原文件.12BBC20                     |
01328B3A | C745 FC 00000000      | mov dword ptr ss:,0                     |
01328B41 | 8D55 EC               | lea edx,dword ptr ss:                  |
01328B44 | 52                  | push edx                                       |
01328B45 | 8B8D A0FEFFFF         | mov ecx,dword ptr ss:                   |
01328B4B | 81C1 28040000         | add ecx,428                                    |
01328B51 | E8 EA220000         | call 原文件.132AE40                     |
01328B56 | 8D4D EC               | lea ecx,dword ptr ss:                  |
01328B59 | E8 7209FAFF         | call 原文件.12C94D0                     |
01328B5E | 8D4D EC               | lea ecx,dword ptr ss:                  |
01328B61 | E8 FA810000         | call 原文件.1330D60                     |
01328B66 | 0FB6C0                | movzx eax,al                                     |

01328B69 | 85C0                  | test eax,eax                                     |
01328B6B | 74 7C               | je 原文件.1328BE9                     |
01328B6D | 8D4D E4               | lea ecx,dword ptr ss:                  |
01328B70 | E8 AB30F9FF         | call 原文件.12BBC20                     |
01328B75 | C645 FC 01            | mov byte ptr ss:,1                        |
01328B79 | 68 20597701         | push 原文件.1775920                     | 1775920:L"动态口令为空!"
01328B7E | 8D4D E4               | lea ecx,dword ptr ss:                  |
01328B81 | 51                  | push ecx                                       |
01328B82 | E8 C944F9FF         | call 原文件.12BD050                     |
01328B87 | 83C4 08               | add esp,8                                        |
01328B8A | 6A FF               | push FFFFFFFF                                    |
01328B8C | 6A 00               | push 0                                           |
01328B8E | 6A 00               | push 0                                           |
01328B90 | 6A 30               | push 30                                          |
01328B92 | 68 30597701         | push 原文件.1775930                     | 1775930:"衏:y"
01328B97 | 8D4D E4               | lea ecx,dword ptr ss:                  |
01328B9A | E8 01143000         | call 原文件.1629FA0                     |
01328B9F | 50                  | push eax                                       |
01328BA0 | E8 DB220000         | call 原文件.132AE80                     |
01328BA5 | 83C4 18               | add esp,18                                       |
01328BA8 | 8B8D A0FEFFFF         | mov ecx,dword ptr ss:                   |
01328BAE | 81C1 2C040000         | add ecx,42C                                    |


随意输入口令,软件弹出:



在字符串中查口令不正确,进入01328CF9,在上面有 01328CD3 条件语句,将 0F84 9A020000 改为E9 9B020000 即 JE 语句改为 JMP,忽略口令不正确。
01328CB7 | 8B82 F4040000         | mov eax,dword ptr ds:                   |
01328CBD | 83E8 01               | sub eax,1                                        |
01328CC0 | 8B8D A0FEFFFF         | mov ecx,dword ptr ss:                   |
01328CC6 | 8981 F4040000         | mov dword ptr ds:,eax                   |
01328CCC | 83BD D0FEFFFF 00      | cmp dword ptr ss:,0                     |
01328CD3 | 0F84 9A020000         | je 原文件.1328F73                     |
01328CD9 | 8B95 A0FEFFFF         | mov edx,dword ptr ss:                   |
01328CDF | 83BA F4040000 00      | cmp dword ptr ds:,0                     |
01328CE6 | 0F8E 41020000         | jle 原文件.1328F2D                      |
01328CEC | 8B85 A0FEFFFF         | mov eax,dword ptr ss:                   |
01328CF2 | 8B88 F4040000         | mov ecx,dword ptr ds:                   |
01328CF8 | 51                  | push ecx                                       |
01328CF9 | 68 38597701         | push 原文件.1775938                     | 1775938:L"口令不正确!您还可以输入%d次!\r\n请检查本计算机的时间是否为北京时间,然后通过Key序列号+授权认证号的方式进行验证。"
01328CFE | 8D55 E0               | lea edx,dword ptr ss:                  |
01328D01 | 52                  | push edx                                       |
01328D02 | E8 4943F9FF         | call 原文件.12BD050                     |
01328D07 | 83C4 0C               | add esp,C                                        |
01328D0A | 68 E4060000         | push 6E4                                       |
01328D0F | E8 973B3200         | call 原文件.164C8AB                     |
01328D14 | 83C4 04               | add esp,4                                        |
01328D17 | 8985 B4FEFFFF         | mov dword ptr ss:,eax                   |
01328D1D | C645 FC 04            | mov byte ptr ss:,4                        |
01328D21 | 83BD B4FEFFFF 00      | cmp dword ptr ss:,0                     |
01328D28 | 74 39               | je 原文件.1328D63                     |
01328D2A | 51                  | push ecx                                       |
01328D2B | 8BCC                  | mov ecx,esp                                    |
01328D2D | 89A5 B0FEFFFF         | mov dword ptr ss:,esp                   |
01328D33 | 8D45 E0               | lea eax,dword ptr ss:                  |
01328D36 | 50                  | push eax                                       |
01328D37 | E8 042FF9FF         | call 原文件.12BBC40                     |
01328D3C | 8985 90FEFFFF         | mov dword ptr ss:,eax                   |
01328D42 | 6A 28               | push 28                                          |
01328D44 | 8B8D B4FEFFFF         | mov ecx,dword ptr ss:                   |
01328D4A | E8 B15F0400         | call 原文件.136ED00                     |
01328D4F | 8985 8CFEFFFF         | mov dword ptr ss:,eax                   |
01328D55 | 8B8D 8CFEFFFF         | mov ecx,dword ptr ss:                   |
01328D5B | 898D 88FEFFFF         | mov dword ptr ss:,ecx                   |
01328D61 | EB 0A               | jmp 原文件.1328D6D                      |
01328D63 | C785 88FEFFFF 0000000 | mov dword ptr ss:,0                     |


然后在 01328F73 下断点,运行到此断点,再单步调试,查看运行记录,运行到 01329061有测试语句test,上面提示1775AA8有m_nCurLevel 错误(理解为用户当前级别),
将 01329061的 75 13 改为 EB 13    即 jne 语句改为 JMP
01329020 | 55                  | push ebp                                       |
01329021 | 8BEC                  | mov ebp,esp                                    |
01329023 | 83EC 10               | sub esp,10                                       |
01329026 | 894D F0               | mov dword ptr ss:,ecx                  |
01329029 | C745 FC 00000000      | mov dword ptr ss:,0                     |
01329030 | 8B45 F0               | mov eax,dword ptr ss:                  |
01329033 | 83B8 00050000 01      | cmp dword ptr ds:,1                     |
0132903A | 7E 17               | jle 原文件.1329053                      |
0132903C | 6A 00               | push 0                                           |
0132903E | 68 A45A7701         | push 原文件.1775AA4                     |
01329043 | 68 A85A7701         | push 原文件.1775AA8                     | 1775AA8:L"m_nCurLevel 错误!"
01329048 | 8B4D F0               | mov ecx,dword ptr ss:                  |
0132904B | 83C1 04               | add ecx,4                                        |
0132904E | E8 9D350000         | call 原文件.132C5F0                     |
01329053 | 8D4D FC               | lea ecx,dword ptr ss:                     |
01329056 | 51                  | push ecx                                       |
01329057 | 8B4D F0               | mov ecx,dword ptr ss:                  |
0132905A | E8 81FAFFFF         | call 原文件.1328AE0                     |
0132905F | 85C0                  | test eax,eax                                     |
01329061 | 75 13               | jne 原文件.1329076                      |
01329063 | 837D FC 00            | cmp dword ptr ss:,0                     |
01329067 | 74 08               | je 原文件.1329071                     |
01329069 | 8B4D F0               | mov ecx,dword ptr ss:                  |
0132906C | E8 EF000000         | call 原文件.1329160                     |
01329071 | E9 DB000000         | jmp 原文件.1329151                      |
01329076 | 8B55 F0               | mov edx,dword ptr ss:                  |
01329079 | 81C2 20040000         | add edx,420                                    |
0132907F | 52                  | push edx                                       |
01329080 | 8B4D F0               | mov ecx,dword ptr ss:                  |
01329083 | 81C1 68040000         | add ecx,468                                    |
01329089 | E8 B21D0000         | call 原文件.132AE40                     |
0132908E | 8B4D F0               | mov ecx,dword ptr ss:                  |
01329091 | 81C1 20040000         | add ecx,420                                    |
01329097 | E8 3404FAFF         | call 原文件.12C94D0                     |
0132909C | 8B4D F0               | mov ecx,dword ptr ss:                  |
0132909F | 81C1 20040000         | add ecx,420                                    |
013290A5 | E8 B67C0000         | call 原文件.1330D60                     |
013290AA | 0FB6C0                | movzx eax,al                                     |
013290AD | 85C0                  | test eax,eax                                     |
013290AF | 75 40               | jne 原文件.13290F1                      |
013290B1 | 8B4D F0               | mov ecx,dword ptr ss:                  |


在X64DBG中继续运行调试,程序竟然已经通过,右键补丁输出修改的程序,并导出补丁文件,以便万一需要继续调试。
退出X64DBG,运行程序,不输动态口令,顺利进入程序界面,检测计算机,导出报告,证明破解完美通过。

7天下载地址:
链接:https://pan.baidu.com/s/1hqBArj90j-fgL_c4a_D00w
提取码:ZYYU

boot 发表于 2022-7-11 20:30

麻烦放一份原版安装包{:5_117:}

zyyujq 发表于 2022-7-12 08:51

boot 发表于 2022-7-11 20:30
麻烦放一份原版安装包

下载地址,,不是已经提供?!....

zyyujq 发表于 2022-7-12 09:58

本软件只有政府采购才能获得,4000-7000元一套,网站没有下载的!

boot 发表于 2022-7-13 19:10

zyyujq 发表于 2022-7-12 09:58
本软件只有政府采购才能获得,4000-7000元一套,网站没有下载的!

跟着思路实践了一下,帖子里的程序地址是013xxxxx,我这边是012xxxxx或者011xxxxx地址会变。用CFF关掉随机基址后,地址固定成007xxxxx,比较好分析一些。

飞刀梦想 发表于 2022-7-14 21:36

感谢分享

pengyuwa1122 发表于 2022-7-22 02:20

厉害受教了

既许一人以偏爱 发表于 2022-7-22 19:36

吃水不忘打井人,给个评分懂感恩!

素衣少年 发表于 2022-8-11 16:53

厉害受教了

智慧的猪猪 发表于 2022-8-19 13:15

过来学习学习赚点币,感谢分享
页: [1] 2 3
查看完整版本: 一款计算机安全保密检查软件的DEBUG