全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211200442.1 (22)申请日 2022.09.29 (71)申请人 山东亿云信息技 术有限公司 地址 250014 山东省济南市高新区新 泺大 街2008号银荷大厦B座 4层 (72)发明人 杨义 宫传华 陈通 马子卿  朱鹏 戴洁清  (74)专利代理 机构 济南圣达知识产权代理有限 公司 372 21 专利代理师 赵妍 (51)Int.Cl. G06F 21/12(2013.01) G06F 21/14(2013.01) G06F 21/60(2013.01) (54)发明名称 一种基于加密和代码混淆的License控制方 法及系统 (57)摘要 本发明涉及软件授权控制技术领域, 提供了 一种基于加密和代码混淆的Licen se控制方法及 系统, 包括: 获取授权信息, 并使用私钥加密, 得 到第一密文; 提取软件逻辑运行类, 并混淆后使 用私钥加密, 得到第二密文; 随机生成一个数字, 将第一密文和第二密文进行字节打乱混合, 得到 字节数组, 将数字和第一密文的若干字节插入, 得到License文件; 将公钥序列化为第一字符串, 将第一字符串拆 分为若干个子串, 并修改软件逻 辑, 使不同方法根据入口参数不同, 返回不同子 串; 将类加载器中的License加载代码转化为第 二字符串, 写入ASM字节码编辑逻辑中, 并对第二 字符串做字符串混淆; 生成软件包, 将软件包和 License文件一起发送 。 降低了Lic ense被破 解的 可能。 权利要求书2页 说明书8页 附图2页 CN 115510402 A 2022.12.23 CN 115510402 A 1.一种基于加密和代码混淆的L icense控制方法, 其特 征在于, 包括: 获取授权信息, 并使用私钥加密, 得到第一密文; 提取软件逻辑运行类, 并在添加花指令、 进行名称混淆和字符串混淆后, 使用私钥加 密, 得到第二密文; 随机生成一个数字, 将第 一密文和第 二密文按照随机生成的数字的二进制的排列进行 字节打乱混合, 得到字节数组, 将数字和第一密文的若干字节插入字节数组开头, 得到 License文件; 将公钥序列化为第一字符串, 将第 一字符串拆分为若干个子串, 并修改软件逻辑, 使不 同方法根据入口参数不同, 返回不同子串; 将类加载器中的License加载代码转化为第二字符串, 写入ASM字节码编辑逻辑中, 并 对第二字符串做字符串混淆; 基于混淆后的类加载器和修改后的软件, 生成软件包, 将软件包和License文件一起发 送。 2.如权利要求1所述的一种基于加密和代码混淆的License控制方法, 其特征在于, 所 述花指令包括空循环、 不可达条件分支和return语句执 行运算。 3.如权利要求1所述的一种基于加密和代码混淆的License控制方法, 其特征在于, 所 述名称混淆的具体方法为: 将软件逻辑运行类中的私有方法名和变量名替换为无语义的字 母或字符串。 4.如权利要求1所述的一种基于加密和代码混淆的License控制方法, 其特征在于, 所 述字符串混淆的具体方法为: 将软件逻辑运行类中的字符串与随机生成字符串进 行异或运 算, 将运算结果保存为字符数组和字节数组。 5.如权利要求1所述的一种基于加密和代码混淆的License控制方法, 其特征在于, 所 述类加载器可以延迟从指定的密文数据中加载类。 6.如权利要求1所述的一种基于加密和代码混淆的License控制方法, 其特征在于, 所 述软件包和License文件在客户端被加载, 具体步骤为: 依次调用若干方法, 获取到一组子串, 组装为第一字符串, 并反序列化 为公钥; 查找License文件, 如果 不存在则停止启动; 拆分License文件, 获取到第一密文和第二密文, 并使用公钥解密, 获得授权信息和软 件逻辑运行类; 类加载器加载 软件逻辑 运行类; 检查授权信息, 根据授权信息控制软件。 7.如权利要求1所述的一种基于加密和代码混淆的License控制方法, 其特征在于, 所 述私钥和公钥通过SM2加密算法得到 。 8.一种基于加密和代码混淆的L icense控制系统, 其特 征在于, 包括: 第一密文生成模块, 其被 配置为: 获取授权信息, 并使用私钥加密, 得到第一密文; 第二密文生成模块, 其被配置为: 提取软件逻辑运行类, 并在添加花指令、 进行名称混 淆和字符串混淆后, 使用私钥加密, 得到第二密文; License文件生成模块, 其被配置为: 随机生成一个数字, 将第一密文和第二密文按照 随机生成的数字的二进制的排列进行字节打乱混合, 得到字节数组, 将数字和第一密文的权 利 要 求 书 1/2 页 2 CN 115510402 A 2若干字节插入字节数组开头, 得到L icense文件; 软件逻辑修改模块, 其被配置为: 将公钥序列化为第 一字符串, 将第 一字符串拆分为若 干个子串, 并修改软件逻辑, 使不同方法根据入口参数不同, 返回不同子串; 类加载器混淆模块, 其被配置为: 将类加载器中的License加载代码转化为第二字符 串, 写入ASM 字节码编辑逻辑中, 并对第二字符串做字符串混淆; 软件包生成模块, 其被配置为: 基于混淆后的类加载器和修改后的软件, 生成软件包, 将软件包和License文件一 起发送。 9.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该程序被处理器执 行时实现如权利要求1 ‑7中任一项所述的一种基于加密和代码混淆的License控制方法中 的步骤。 10.一种计算机设备, 包括存储器、 处理器及存储在存储器上并可在处理器上运行的计 算机程序, 其特征在于, 所述处理器执行所述程序时实现如权利要求 1‑7中任一项 所述的一 种基于加密和代码混淆的L icense控制方法中的步骤。权 利 要 求 书 2/2 页 3 CN 115510402 A 3

.PDF文档 专利 一种基于加密和代码混淆的License控制方法及系统

文档预览
中文文档 13 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于加密和代码混淆的License控制方法及系统 第 1 页 专利 一种基于加密和代码混淆的License控制方法及系统 第 2 页 专利 一种基于加密和代码混淆的License控制方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 05:36:12上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。