|
本帖最后由 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:[0] |
01328AF0 | 50 | push eax |
01328AF1 | 81EC 70010000 | sub esp,170 |
01328AF7 | A1 98178901 | mov eax,dword ptr ds:[1891798] |
01328AFC | 33C5 | xor eax,ebp |
01328AFE | 8945 D8 | mov dword ptr ss:[ebp-28],eax |
01328B01 | 50 | push eax |
01328B02 | 8D45 F4 | lea eax,dword ptr ss:[ebp-C] |
01328B05 | 64:A3 00000000 | mov dword ptr fs:[0],eax |
01328B0B | 898D A0FEFFFF | mov dword ptr ss:[ebp-160],ecx |
01328B11 | 6A 70 | push 70 |
01328B13 | 6A 00 | push 0 |
01328B15 | 8B85 A0FEFFFF | mov eax,dword ptr ss:[ebp-160] |
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:[ebp+8] |
01328B2C | C701 00000000 | mov dword ptr ds:[ecx],0 |
01328B32 | 8D4D EC | lea ecx,dword ptr ss:[ebp-14] |
01328B35 | E8 E630F9FF | call 原文件.12BBC20 |
01328B3A | C745 FC 00000000 | mov dword ptr ss:[ebp-4],0 |
01328B41 | 8D55 EC | lea edx,dword ptr ss:[ebp-14] |
01328B44 | 52 | push edx |
01328B45 | 8B8D A0FEFFFF | mov ecx,dword ptr ss:[ebp-160] |
01328B4B | 81C1 28040000 | add ecx,428 |
01328B51 | E8 EA220000 | call 原文件.132AE40 |
01328B56 | 8D4D EC | lea ecx,dword ptr ss:[ebp-14] |
01328B59 | E8 7209FAFF | call 原文件.12C94D0 |
01328B5E | 8D4D EC | lea ecx,dword ptr ss:[ebp-14] |
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:[ebp-1C] |
01328B70 | E8 AB30F9FF | call 原文件.12BBC20 |
01328B75 | C645 FC 01 | mov byte ptr ss:[ebp-4],1 |
01328B79 | 68 20597701 | push 原文件.1775920 | 1775920:L"动态口令为空!"
01328B7E | 8D4D E4 | lea ecx,dword ptr ss:[ebp-1C] |
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:[ebp-1C] |
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:[ebp-160] |
01328BAE | 81C1 2C040000 | add ecx,42C |
随意输入口令,软件弹出:
在字符串中查口令不正确,进入01328CF9,在上面有 01328CD3 条件语句,将 0F84 9A020000 改为E9 9B020000 即 JE 语句改为 JMP,忽略口令不正确。
01328CB7 | 8B82 F4040000 | mov eax,dword ptr ds:[edx+4F4] |
01328CBD | 83E8 01 | sub eax,1 |
01328CC0 | 8B8D A0FEFFFF | mov ecx,dword ptr ss:[ebp-160] |
01328CC6 | 8981 F4040000 | mov dword ptr ds:[ecx+4F4],eax |
01328CCC | 83BD D0FEFFFF 00 | cmp dword ptr ss:[ebp-130],0 |
01328CD3 | 0F84 9A020000 | je 原文件.1328F73 |
01328CD9 | 8B95 A0FEFFFF | mov edx,dword ptr ss:[ebp-160] |
01328CDF | 83BA F4040000 00 | cmp dword ptr ds:[edx+4F4],0 |
01328CE6 | 0F8E 41020000 | jle 原文件.1328F2D |
01328CEC | 8B85 A0FEFFFF | mov eax,dword ptr ss:[ebp-160] |
01328CF2 | 8B88 F4040000 | mov ecx,dword ptr ds:[eax+4F4] |
01328CF8 | 51 | push ecx |
01328CF9 | 68 38597701 | push 原文件.1775938 | 1775938:L"口令不正确!您还可以输入%d次!\r\n请检查本计算机的时间是否为北京时间,然后通过Key序列号+授权认证号的方式进行验证。"
01328CFE | 8D55 E0 | lea edx,dword ptr ss:[ebp-20] |
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:[ebp-14C],eax |
01328D1D | C645 FC 04 | mov byte ptr ss:[ebp-4],4 |
01328D21 | 83BD B4FEFFFF 00 | cmp dword ptr ss:[ebp-14C],0 |
01328D28 | 74 39 | je 原文件.1328D63 |
01328D2A | 51 | push ecx |
01328D2B | 8BCC | mov ecx,esp |
01328D2D | 89A5 B0FEFFFF | mov dword ptr ss:[ebp-150],esp |
01328D33 | 8D45 E0 | lea eax,dword ptr ss:[ebp-20] |
01328D36 | 50 | push eax |
01328D37 | E8 042FF9FF | call 原文件.12BBC40 |
01328D3C | 8985 90FEFFFF | mov dword ptr ss:[ebp-170],eax |
01328D42 | 6A 28 | push 28 |
01328D44 | 8B8D B4FEFFFF | mov ecx,dword ptr ss:[ebp-14C] |
01328D4A | E8 B15F0400 | call 原文件.136ED00 |
01328D4F | 8985 8CFEFFFF | mov dword ptr ss:[ebp-174],eax |
01328D55 | 8B8D 8CFEFFFF | mov ecx,dword ptr ss:[ebp-174] |
01328D5B | 898D 88FEFFFF | mov dword ptr ss:[ebp-178],ecx |
01328D61 | EB 0A | jmp 原文件.1328D6D |
01328D63 | C785 88FEFFFF 0000000 | mov dword ptr ss:[ebp-178],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:[ebp-10],ecx |
01329029 | C745 FC 00000000 | mov dword ptr ss:[ebp-4],0 |
01329030 | 8B45 F0 | mov eax,dword ptr ss:[ebp-10] |
01329033 | 83B8 00050000 01 | cmp dword ptr ds:[eax+500],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:[ebp-10] |
0132904B | 83C1 04 | add ecx,4 |
0132904E | E8 9D350000 | call 原文件.132C5F0 |
01329053 | 8D4D FC | lea ecx,dword ptr ss:[ebp-4] |
01329056 | 51 | push ecx |
01329057 | 8B4D F0 | mov ecx,dword ptr ss:[ebp-10] |
0132905A | E8 81FAFFFF | call 原文件.1328AE0 |
0132905F | 85C0 | test eax,eax |
01329061 | 75 13 | jne 原文件.1329076 |
01329063 | 837D FC 00 | cmp dword ptr ss:[ebp-4],0 |
01329067 | 74 08 | je 原文件.1329071 |
01329069 | 8B4D F0 | mov ecx,dword ptr ss:[ebp-10] |
0132906C | E8 EF000000 | call 原文件.1329160 |
01329071 | E9 DB000000 | jmp 原文件.1329151 |
01329076 | 8B55 F0 | mov edx,dword ptr ss:[ebp-10] |
01329079 | 81C2 20040000 | add edx,420 |
0132907F | 52 | push edx |
01329080 | 8B4D F0 | mov ecx,dword ptr ss:[ebp-10] |
01329083 | 81C1 68040000 | add ecx,468 |
01329089 | E8 B21D0000 | call 原文件.132AE40 |
0132908E | 8B4D F0 | mov ecx,dword ptr ss:[ebp-10] |
01329091 | 81C1 20040000 | add ecx,420 |
01329097 | E8 3404FAFF | call 原文件.12C94D0 |
0132909C | 8B4D F0 | mov ecx,dword ptr ss:[ebp-10] |
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:[ebp-10] |
在X64DBG中继续运行调试,程序竟然已经通过,右键补丁输出修改的程序,并导出补丁文件,以便万一需要继续调试。
退出X64DBG,运行程序,不输动态口令,顺利进入程序界面,检测计算机,导出报告,证明破解完美通过。
7天下载地址:
链接:https://pan.baidu.com/s/1hqBArj90j-fgL_c4a_D00w
提取码:ZYYU
|
评分
-
参与人数 31 | HB +34 |
THX +12 |
收起
理由
|
居然要中文
| |
+ 1 |
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
九天一叶
| |
+ 1 |
|
猫妖的故事
| |
+ 1 |
|
jyjjf
| + 2 |
+ 1 |
楼主补个链接 |
NOP
| + 2 |
|
|
k_wang
| + 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
消逝的过去
| + 2 |
|
|
Jawon
| + 2 |
|
|
一路走来不容易
| |
+ 1 |
|
虚心学习
| + 1 |
|
|
行行行行行行
| |
+ 1 |
|
459121520
| |
+ 1 |
|
爱汇编爱汇编
| + 1 |
|
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
风里去
| + 1 |
|
[吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少! |
agan8888
| + 1 |
|
|
筱手冰冷
| + 2 |
+ 1 |
过程很清楚,感谢楼主分享思路 |
Cerolluo
| + 1 |
|
[吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少! |
我爱学习一
| + 1 |
|
|
yexing
| |
+ 1 |
|
temp
| + 1 |
|
|
zxjzzh
| + 2 |
|
[吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少! |
l278785481
| |
+ 1 |
|
xgbnapsua
| |
+ 1 |
|
pengyuwa1122
| + 1 |
|
|
飞刀梦想
| + 1 |
|
|
3821618
| + 1 |
|
|
车太震
| + 1 |
|
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
a6855569
| + 2 |
|
|
pygicx
| + 1 |
|
|
莣孒嬡沵芣蓜
| + 6 |
+ 1 |
[吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少! |
以梦为马
| + 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
查看全部评分
|