[发明专利]一种面向微控制器的压缩整合式源代码混淆方法及系统有效
申请号: | 201910317993.8 | 申请日: | 2019-04-19 |
公开(公告)号: | CN110135133B | 公开(公告)日: | 2021-08-17 |
发明(设计)人: | 肖银皓 | 申请(专利权)人: | 佛山市微风科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 王国标 |
地址: | 528000 广东省佛山市禅城区华宝南路1*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 控制器 压缩 整合 源代码 混淆 方法 系统 | ||
1.一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,所述方法包括以下步骤:
步骤1,启动源代码混淆系统,所述源代码混淆系统包括:代码整合模块和代码混淆模块,唤起并运行代码整合模块;
步骤2,代码整合模块扫描目标微控制器项目中的所有的有效代码文件;
步骤3,代码整合模块将有效代码文件中的代码都分别整合成一个源文件和头文件;
步骤4,代码整合模块将源文件和头文件的源代码中所有的注释删除,并将缩进空格调整成1格;
步骤5,唤起并运行代码混淆模块;
步骤6,代码混淆模块在源文件和头文件的源代码中标记出标识符中的不带有特殊标记的第一标识符;
步骤7,代码混淆模块调用作用域分析器将源文件中的所有的作用域划分出来;
步骤8,代码混淆模块对于每个作用域中的第一标识符按照其出现频率从高到低进行排序后得到第一标识符序列;
步骤9,代码混淆模块通过哈夫曼编码依次对第一标识符序列中的第一标识符按照标识符长度进行压缩编码。
2.根据权利要求1所述的一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,在步骤2中,所述有效代码文件为源文件和头文件,源文件和头文件分别为.c格式的源文件和.h格式的头文件。
3.根据权利要求1所述的一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,在步骤3中,代码整合模块将有效代码文件中的代码都分别整合成一个源文件和头文件的方法为,将一个编译单元或一组编译单元中的代码整合成一个源文件和头文件,所述编译单元为一个或多个源文件和头文件。
4.根据权利要求1所述的一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,在步骤6中,所述特殊标记包括但不限于在标识符上的宏定义、特殊注释标记、外部导出符号。
5.根据权利要求1所述的一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,在步骤7中,所述作用域划分方法包括但不限于语义分割算法、括号匹配算法。
6.一种面向微控制器的压缩整合式源代码混淆系统,其特征在于,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在源代码混淆系统的代码整合模块和代码混淆模块的各自单元中,
其中,代码整合模块,包括以下单元:
代码文件扫描单元,用于扫描目标微控制器项目中的所有的有效代码文件;
代码整合单元,用于将有效代码文件中的代码都分别整合成一个源文件和头文件;
格式调整单元,用于代码整合模块将源文件和头文件的源代码中所有的注释删除,并将缩进空格调整成1格;
代码混淆模块,包括以下单元:
特殊标记单元,用于在源文件和头文件的源代码中标记出标识符中的不带有特殊标记的第一标识符;
作用域划分单元,用于调用作用域分析器将源文件中的所有的作用域划分出来;
频率排序单元,用于对于每个作用域中的第一标识符按照其出现频率从高到低进行排序后得到第一标识符序列;
压缩编码单元,用于代码混淆模块通过哈夫曼编码依次对第一标识符序列中的第一标识符按照标识符长度进行压缩编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于佛山市微风科技有限公司,未经佛山市微风科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910317993.8/1.html,转载请声明来源钻瓜专利网。