[发明专利]一种基于控制流复杂化的Java代码混淆方法有效

专利信息
申请号: 201610891258.4 申请日: 2016-10-13
公开(公告)号: CN106650339B 公开(公告)日: 2019-06-11
发明(设计)人: 周超;郭雅娟;黄伟;朱道华;姜海涛;郭静;李斌;王黎明;陈锦铭 申请(专利权)人: 国网江苏省电力公司电力科学研究院;国家电网公司
主分类号: G06F21/14 分类号: G06F21/14
代理公司: 南京纵横知识产权代理有限公司 32224 代理人: 董建林
地址: 211103 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 控制 复杂化 java 代码 混淆 方法
【权利要求书】:

1.一种基于控制流复杂化的Java代码混淆方法,其特征在于:包括以下步骤,

步骤1,构建不透明谓词集合;

步骤2,发现循环结构;

步骤3,拆开循环结构;

步骤4,在拆开的循环结构中插入不透明谓词集合;

步骤5,复杂化循环结构;

复杂化循环结构的过程为,

S41,定义循环结构的循环体为C0、C1、…、Ck;

S42,定义i=0;

S43,如果i小于等于k,则转至步骤S44,否则结束;

S44,在循环体Ci中随机地添加与不透明谓词相关的代码,这些代码不改变不透明谓词的真假;

S45,调用构造有向无环图的函数,得到DAG结构;

DAG结构中的每一个节点都是循环体Ci中的一个位置,每一条有向边代表从起点所代表位置到终点所代表位置之间的代码段;

S46,计算每一条有向边在DAG中的一个拓扑序TS;

S47,将代码段按照拓扑序TS替换掉原本的循环体Ci;

S48,寻找下一个代码段间的间隔;

S49,如果间隔之前紧邻的代码段,在DAG结构中没有后续的代码段执行,转至步骤S410,否则转至步骤S411;

S410, 插入跳转指令直接跳转到S47中替换掉的循环体Ci的结束位置,转至步骤S412;

S411, 插入随即条件或者与输入相关的条件,跳转到在DAG结构中紧邻在这个代码段之后的代码段上;

S412,判断是否还有代码段间的间隔没有插入跳转指令,如果是,转至步骤S48,否则转至步骤S423;

S423,i+=1,转至步骤S43。

2.根据权利要求1所述的一种基于控制流复杂化的Java代码混淆方法,其特征在于:不透明谓词集合包括构造恒为真的谓词集合T以及恒为假的谓词集合F。

3.根据权利要求2所述的一种基于控制流复杂化的Java代码混淆方法,其特征在于:发现循环结构的过程为,

S11,遍历class文件寻找条件跳转指令M;

S12,找到条件跳转指令M的跳转标签E;

S13,查看跳转标签E所在位置的上一条指令是否为无条件跳转指令N,如果是,找到无条件跳转指令N的跳转标签B;

S14,判断跳转标签B是否在条件跳转指令M之前,如果是,遍历跳转标签B到条件跳转指令M之间的代码段,查看是否还有其余跳转指令,如果没有,那么从跳转标签B到跳转标签E之间的代码段为一个循环结构。

4.根据权利要求3所述的一种基于控制流复杂化的Java代码混淆方法,其特征在于:拆开循环结构的过程为,

S21,定义从跳转标签B到无条件跳转指令N之前的代码段为循环结构的循环体,定义循环结构原先具有的循环体的跳转标签B记为B0,定义复制循环体的次数为k,计数器i=0;

S22,i=i+1;

S23,在无条件跳转指令N之前插入一循环体,插入的循环体的跳转标签记为Bi;

S24,判断i是否大于等于k,如果否,则转至步骤S22,如果是,则转至步骤S25;

S25,去掉无条件跳转指令N,在同样的位置插入代码块D,所述代码块D根据输入和局部变量的状态跳转B0到Bk中的任何一个。

5.根据权利要求4所述的一种基于控制流复杂化的Java代码混淆方法,其特征在于:在拆开的循环结构中插入不透明谓词集合的过程为,

S31,定义跳转标签为B0、B1、…、Bk的循环体的的条件谓词分别为Cal_A0、Cal_A1、…、Cal_A k;

S32,定义i=0;

S33,如果i小于等于k,则转至步骤S34,否则结束;

S34,修改Cal_Ai,从不透明谓词集合中选择若干谓词,与循环体中原本的谓词结合,结合后的谓词真假不变;

S35,i=i+1;转至步骤S33。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网江苏省电力公司电力科学研究院;国家电网公司,未经国网江苏省电力公司电力科学研究院;国家电网公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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