引言
1.1 编写目的
帮助Matlab开发者提供源代码加密混淆、专业P文件加密、用户授权管理技术,为Matlab开发者提供一站式解决P文件打包防破解、Exe打包防破解技术。后期预期加入更多功能。软件概述
2.1 开发平台
Matlab exe管理软件V1是基于Matlab2022a的App Designer设计的一款软件,源代码一共有6000余行,核心代码分为3个部分。
2.2 软件功能
Matlab exe管理软件V1包含了3项功能,分别是:1.源代码混淆;2.加密P文件;3.用户管理;- 源代码混淆。将Matlab的m文件进行强混淆,混淆变量、函数、字符串,打乱排版,使之成为几乎没有可读性的代码。软件支持混淆简单的m文件,GUIDE的m文件,App designer 导出的m文件等。
- 加密P文件。采用更专业的P文件加密技术,将m文件加密为p文件,支持批量创建p文件,目前市面上技术均无法解密。
- 用户管理。为Matlab开发者提供一站式解决多软件分发、多用户授权管理功能,支持联网校验时间授权、本地离线授权等方式。
3.1 功能介绍
3.1.1 源代码混淆
Ø 准备好需要强混淆的m文件,可以是m主程序文件、m函数文件、GUIDE的m文件,App designer导出的m文件等。
Ø 在Matlab exe管理软件中选择“①源代码混淆类型”,根据m文件的类型按需选择即可。
Ø 设置“②混淆参数”,这部分基本可以保持默认,具体是怎么影响可参考本节后面提供的视频链接教程。
Ø 点击“①选择m文件”,选择需要加密的m文件,选择以后软件会自动分析需要加密的变量,运行速度和代码量有关,几万行代码一般需要1、2分钟,代码量少运行速度就快。
Ø 点击“②混淆m文件”,软件开始强混淆m文件,混淆的速度同样和代码量有关,几万行代码一般需要2、3分钟。混淆示例如下。
3.1.2 加密P文件
Ø 开发P文件加密功能的初衷是网上有P文件的破解技术,对Matlab的开发者造成了很大的困扰。因此为了帮助开发者在混淆源代码的基础上,进一步保护代码,开发了P文件加密功能。
Ø 点击“①选择需加密的m文件(可多选)”,选择需要加密的m文件即可,支持批量选择。
Ø 点击“②开始加密m文件”,等待提示框显示完成
Ø 点击“③打开加密后的p文件”,会自动打开加密后的p文件所在文件夹。
3.1.3 用户管理
Ø 这部分功能是为了帮助matlab开发者分发软件,管理授权用户。
Ø 作为开发者,现需开发一个新软件(包括p脚本软件,或exe软件)。首先打开“服务器”文件夹,运行Matlab exe管理软件,在“用户管理”模块选择“创建软件管理”,输入软件的中文名、英文简写,以及软件加密秘钥(需英文),然后点击“确认并保存”,保存新建的授权管理服务器文件。
Ø 做完前述预备工作后,就可以去开发用户使用的程序了,在“客户端”文件夹里有一个main.m示例脚本,可以在此基础上开发m程序,也可以借鉴格式自行开发app designer等程序。
Ø 在main.m文件里,分为3块。第1块是用户校验模块,根据提示填写参数,最后后得到Result变量,它就是判断用户是否授权的核心参数;第2快是留给用户在main.m中编写主程序的地方;第3块是校验“User_Manage.p”文件完整性的MD5函数,目的是为了防止用户篡改校验文件,不用修改。
Ø 作为开发者,您可以继续在main.m里开发软件,也可以把它移植到您自己的项目里。
Ø 作为开发者,如果您已经开发完了软件,现在拥有的源代码是m文件,或者是GUIDE的m文件,或者是App designer的mlapp文件(mlapp文件可以在设计完后导出为m文件)。
Ø 使用前面介绍的“源代码混淆”、“加密P文件”,将m源代码进一步加密为P文件,然后给用户使用。如果您是采用提供的Main.p开发程序,那么最后给于用户使用的是下面这两个文件,Main.p是主程序。
Ø 现在站在用户的视角,用户得到了程序以后,会运行Main.p程序(在matlab中右键直接运行),第一次运行没注册,会弹出如下的提示。注意:①处是开发者在Main.m留下的备注,②处是软件的英文简称。机器码是针对用户电脑生成的唯一的识别码,生成算法稳定可靠且唯一。用户将机器码发给开发者后,开发者就知道是哪款软件需要授权。
Ø 接下来切换会开发者的视角,开发者收到用户的注册申请时,可继续使用Matlab exe管理软件,在“用户管理”模块选择“选择已有软件管理”,打开之前保存的软件的授权管理服务器,然后点击“增加用户”,填写好用户机器码,设置用户使用到期时间、可使用次数等,然后点击“生成当前用户的授权文件”,将授权文件发给用户,用户放入Main.m同文件夹后,之后就可以正常运行程序。