[发明专利]一种代码的混淆方法以及装置、计算机设备、存储介质有效

专利信息
申请号: 201910864925.3 申请日: 2019-09-09
公开(公告)号: CN110569628B 公开(公告)日: 2021-09-21
发明(设计)人: 方令;肖巍 申请(专利权)人: 北京智游网安科技有限公司
主分类号: G06F21/14 分类号: G06F21/14;G06F8/41
代理公司: 深圳市君胜知识产权代理事务所(普通合伙) 44268 代理人: 王永文;刘文求
地址: 100000 北京市海淀区东北旺西路8*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 代码 混淆 方法 以及 装置 计算机 设备 存储 介质
【权利要求书】:

1.一种代码的混淆方法,其特征在于,所述方法包括:

获取第一源文件对应的第一抽象语法树;

对所述第一抽象语法树进行修改,得到第二抽象语法树;

将所述第二抽象语法树转换为第二源文件;

所述对所述第一抽象语法树进行修改,得到第二抽象语法树,包括:

遍历所述第一抽象语法树中的节点;

判断所述节点是否为可替换类型;

判断结果为是,将所述第一抽象语法树中节点用等价表达式进行替换;

判断结果为否,则对下一节点进行判断,直至对抽象语法树中的节点均已遍历;所述遍历过程为:判断抽象语法树全部节点中每一个节点是否是算术运算表达式或者位运算表达式,如果是算术运算表达式,则用所述等价表达式进行替换;如果判断结果为否,则继续对下一节点进行判断;当判断的节点为最后一个节点的情况下,结束遍历。

2.根据权利要求1所述代码的混淆方法,其特征在于,获取第一源文件对应的第一抽象语法树,包括:

编译器前端分析处理所述第一源文件,得到与所述第一源文件对应的所述第一抽象语法树和所述第一源文件包含的头文件。

3.根据权利要求1所述代码的混淆方法,其特征在于,所述可替换类型包括:算术运算表达式、位运算表达式。

4.根据权利要求1所述代码的混淆方法,其特征在于,将所述第二抽象语法树转换为第二源文件,包括:

创建空白源文件,所述空白源文件与所述第一源文件类型相同;

将所述第一源文件中包含的头文件按照语法形式输出至所述空白源文件,将所述第二抽象语法树中的顶级声明按照语法形式输出至所述空白源文件,得到所述第二源文件。

5.根据权利要求2所述代码的混淆方法,其特征在于,编译器为LLVM。

6.一种代码的混淆装置,其特征在于,所述装置包括:

获取单元,用于获取第一源文件中的第一抽象语法树;

修改单元,用于对所述抽象语法树进行修改,得到第二抽象语法树;

转换单元,用于将所述第二抽象语法树转换为第二源文件;

所述修改单元,包括:

遍历模块,用于遍历所述第一抽象语法树中的节点;

判断模块,用于判断所述节点是否为可替换类型;

替换模块,用于判断结果为是,将所述第一抽象语法树中节点用等价表达式进行替换;判断结果为否,则对下一节点进行判断,直至对抽象语法树中的节点均已遍历;所述遍历过程为:判断抽象语法树全部节点中每一个节点是否是算术运算表达式或者位运算表达式,如果是算术运算表达式,则用所述等价表达式进行替换;如果判断结果为否,则继续对下一节点进行判断;当判断的节点为最后一个节点的情况下,结束遍历。

7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智游网安科技有限公司,未经北京智游网安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910864925.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top