[发明专利]基于不透明谓词的源代码混淆方法及装置在审
申请号: | 201810146564.4 | 申请日: | 2018-02-12 |
公开(公告)号: | CN108446537A | 公开(公告)日: | 2018-08-24 |
发明(设计)人: | 阚志刚;陈彪;王文洋;李世杰;尉爽生;卢佐华 | 申请(专利权)人: | 北京梆梆安全科技有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/14 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许志勇 |
地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 不透明 谓词 第一条件 条件变量 混淆 跳转 恒定 方式获取 静态分析 攻击 节点处 编译 替换 模糊 申请 分析 | ||
1.一种基于不透明谓词的源代码混淆方法,其特征在于,包括:
定位源代码中位于分支跳转节点处的第一条件变量;
在所述第一条件变量中添加至少一个不透明谓词,得到第二条件变量,所述不透明谓词的值恒定;
利用所述第二条件变量替换所述第一条件变量。
2.根据权利要求1所述的方法,其特征在于,所述不透明谓词包括恒为真的函数表达式。
3.根据权利要求1所述的方法,其特征在于,所述在所述第一条件变量中添加至少一个不透明谓词,包括:
在所述第一条件变量之前或之后添加所述至少一个不透明谓词,并利用预设符号分隔所述第一条件变量和所述不透明谓词。
4.根据权利要求1所述的方法,其特征在于,所述在所述第一条件变量中添加至少一个不透明谓词,包括:
利用预设规则将所述第一条件变量分割为多个字符段;
在所述多个字符段之间添加所述至少一个不透明谓词。
5.一种基于不透明谓词的源代码混淆装置,其特征在于,包括:
定位模块,用于源代码中位于分支跳转节点处的第一条件变量;
添加模块,用于在所述第一条件变量中添加至少一个不透明谓词,得到第二条件变量,所述不透明谓词的值恒定;
替换模块,用于利用所述第二条件变量替换所述第一条件变量。
6.根据权利要求5所述的装置,其特征在于,所述不透明谓词包括恒为真的函数表达式。
7.根据权利要求5所述的装置,其特征在于,所述添加模块包括:
添加及分隔单元,用于在所述第一条件变量之前或之后添加所述至少一个不透明谓词,并利用预设符号分隔所述第一条件变量和所述不透明谓词。
8.根据权利要求5所述的装置,其特征在于,所述添加模块包括:
分割单元,用于利用预设规则将所述第一条件变量分割为多个字符段;
添加单元,用于在所述多个字符段之间添加所述至少一个不透明谓词。
9.一种基于不透明谓词的源代码混淆设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
定位源代码中位于分支跳转节点处的第一条件变量;
在所述第一条件变量中添加至少一个不透明谓词,得到第二条件变量,所述不透明谓词的值恒定;
利用所述第二条件变量替换所述第一条件变量。
10.一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
定位源代码中位于分支跳转节点处的第一条件变量;
在所述第一条件变量中添加至少一个不透明谓词,得到第二条件变量,所述不透明谓词的值恒定;
利用所述第二条件变量替换所述第一条件变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京梆梆安全科技有限公司,未经北京梆梆安全科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810146564.4/1.html,转载请声明来源钻瓜专利网。