运行环境:WIN7
涉及工具:ExeinfoPe,x64dbg,UPXEasyGUI(含UPX 3.94)
教程类型:破解限制,算法分析等
是否讲解思路和原理:是
最近好玩,下载了一个试用版程序CopyU_2.1.470.216,经过ExeinfoPe测试是UPX包,使用UPXEasyGUI解包,再用ExeinfoPe测试,是易语言程序。
因为不爽界面太多的提示升级到PRO版的按钮,因此下载了易语言最新版本,分析比较原始代码编译后的程序。
第一次使用易语言编程工具,编写简单代码,分析控件代码规则。
通过分析,易语言控件都是中文命名,使用x64dbg的匹配特征搜索,很容易找到想修改的控件,部分关键控件的分析描述如下:
1、超级链接框HyperLinker,ASCII特征码:超级链接框,十六进制特征码: B3 AC BC B6 C1 B4 BD D3 BF F2 具体如下:
[Asm] 纯文本查看 复制代码 B3 AC BC B6 C1 B4 BD D3 BF F2 32 00 00 00 00 00
00 78 00 00 00 10 00 00 00 70 00 00 00 28 00 00
00 00 00 00 00 00 00 04 00 00 00 00 00 04 00 00
00 00 00 00 00 00 00 00 00 00 01 SyntaxHighlighter Copyright 2004-2013 Alex Gorbatchev.
特征码之后 32 为对象序号,特征码之后49字节为可视布尔值Bool 01 改 00 即可将控件不可见。
2、标签Label,ASCII特征码:标签,十六进制特征码: B1 EA C7 A9 具体如下:
[Asm] 纯文本查看 复制代码 B1 EA C7 A9 31 00 00 00 00 00 00 70 00 00 00 48
00 00 00 80 00 00 00 28 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00
00 00 00 00 01 SyntaxHighlighter Copyright 2004-2013 Alex Gorbatchev.
特征码之后 31 为对象序号,特征码之后49字节为可视布尔值Bool 01 改 00 即可将控件不可见。
3、按钮Button,ASCII特征码:按钮,十六进制特征码:B0 B4 C5 A5 具体如下:
[Asm] 纯文本查看 复制代码 B0 B4 C5 A5 31 00 00 00 00 00 00 70 00 00 00 90
00 00 00 88 00 00 00 28 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00
00 00 00 00 05 SyntaxHighlighter Copyright 2004-2013 Alex Gorbatchev.
特征码之后 31 为对象序号,特征码之后49字节为可视布尔值Bool 05 改 04 即可将控件不可见。
4、单选框RadioBox,ASCII特征码:单选框,十六进制特征码:B5 A5 D1 A1 BF F2 具体如下:
[Asm] 纯文本查看 复制代码 B5 A5 D1 A1 BF F2 31 00 00 00 00 00 00 78 00 00
00 C8 00 00 00 68 00 00 00 18 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00
00 00 00 00 00 00 05 SyntaxHighlighter Copyright 2004-2013 Alex Gorbatchev.
特征码之后 31 为对象序号,特征码之后49字节为可视布尔值Bool 05 改 04 即可将控件不可见。
5、选择框CheckBox,ASCII特征码:选择框,十六进制特征码:D1 A1 D4 F1 BF F2 具体如下:
[Asm] 纯文本查看 复制代码 D1 A1 D4 F1 BF F2 31 00 00 00 00 00 00 78 00 00
00 18 00 00 00 80 00 00 00 28 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00
00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00
00 00 00 00 00 FF 01 00 00 00 00 00 00 00 00 00 SyntaxHighlighter Copyright 2004-2013 Alex Gorbatchev.
特征码之后 31 为对象序号,特征码之后49字节为可视布尔值Bool 05 改 04 即可将控件不可见。FF 01 改为 FF 00 为默认不选择
6、编辑框EditBox,ASCII特征码:编辑框,十六进制特征码:B1 E0 BC AD BF F2 具体如下:
[Asm] 纯文本查看 复制代码 B1 E0 BC AD BF F2 31 00 00 00 00 00 00 78 00 00
00 18 00 00 00 78 00 00 00 48 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00
00 00 00 00 00 00 05 SyntaxHighlighter Copyright 2004-2013 Alex Gorbatchev.
特征码之后 31 为对象序号,特征码之后49字节为可视布尔值Bool 05 改 04 即可将控件不可见。
7、菜单menu,ASCII特征码:菜单,十六进制特征码:B2 CB B5 A5 具体如下:
[Asm] 纯文本查看 复制代码 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
B2 CB B5 A5 31 00 FF FF FF FF 00 00 00 00 00 00 SyntaxHighlighter Copyright 2004-2013 Alex Gorbatchev.
特征码之后 31 为对象序号,特征码之前 4 字节为可视布尔值Bool 00 改 01 即可将控件不可见。
通过以上分析后的方法,使用x64dbg的匹配特征搜索 CopyU_2.1.470.216 SW 试用版本的特征信息,修改程序为美观版本,但没有破解为PRO版。
禁止显示所有升级为PRO的标签和菜单,软件好看多了!

看上去有点象专业版
示例:x64dbg 禁止显示菜单------> 升级到PRO...
匹配特征搜索菜单,发现有字符:帮助、升级到PRO...
或者匹配特征搜索升级到PRO...
因为菜单与升级到PRO...是连续的菜单,因此这些字符在一起,可以识别此处为菜单代码处,
直接在 C9 FD BC B6 B5 BD 50 52 4F B0 E6 2E 2E 2E 前 4 字节 00 处,双击修改为 01,即可禁止显示此菜单:
禁止关于对话框里的升级标签显示:
匹配特征搜索标签,找到标签后含“您当前使用的是SW版本(共享版),升级到PRO版“的地方。将特征字符后第 49 字节 01 改为 00 ,即可禁止显示此标签按钮。如下图:
x64dbg的补丁.1337文件和原程序和修改程序附后: |