[发明专利]一种基于遗传算法的软件代码混淆操作选择方法有效
申请号: | 201710179465.1 | 申请日: | 2017-03-23 |
公开(公告)号: | CN107103213B | 公开(公告)日: | 2018-08-31 |
发明(设计)人: | 薛惠锋;王潇茵;巴峰;张伟;葛慧;李宁;高金梁 | 申请(专利权)人: | 中国航天系统科学与工程研究院 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06N3/12 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 臧春喜 |
地址: | 100048*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 遗传 算法 软件 代码 混淆 操作 选择 方法 | ||
1.一种基于遗传算法的软件代码混淆操作选择方法,其特征在于包括步骤如下:
(1)建立混淆操作模块库,所述混淆操作模块库由混淆操作构成,混淆操作包括控制流混淆操作、数据混淆操作以及综合控制流混淆和数据混淆的混淆操作;
(2)找到待混淆可执行程序的入口,对待混淆可执行程序进行反汇编;
(3)对反汇编后的代码进行遍历,寻找其中的JUMP、CALL、XOR代码,以此作为混淆操作的加入位置;
(4)从混淆操作模块库中随机选择若干个混淆操作,将所选的混淆操作分配给各个混淆操作的加入位置,形成N种混淆操作分配方式;
(5)采用遗传算法对N种混淆操作分配方式进行优化选择,选择最优的混淆操作分配方式作为本次软件代码混淆操作的选择结果。
2.根据权利要求1所述的一种基于遗传算法的软件代码混淆操作选择方法,其特征在于:所述步骤(5)的实现方法如下:
(2.1)确定混淆操作组合为遗传算法的特征,对N种混淆操作分配方式进行编码,形成N个染色体,N个染色体构成遗传算法的种群R,R={R1,R2…Ri…RN};
(2.2)为每个染色体设定适应度,其中染色体Ri的适应度为Fi,Fi为经过染色体Ri混淆操作后的软件代码响应时间的倒数;
(2.3)每个染色体进行交叉或变异;
(2.4)当达到设定的遗传代数后,选择适应度最高的染色体RH,作为最优的混淆操作分配方式。
3.根据权利要求2所述的一种基于遗传算法的软件代码混淆操作选择方法,其特征在于:所述步骤(2.1)中,染色体Ri={H1,H2…Hj…Hm},其中Hj表示第j个加入位置处分配的混淆操作组合。
4.根据权利要求2所述的一种基于遗传算法的软件代码混淆操作选择方法,其特征在于:所述步骤(2.3)中,对染色体Ri进行交叉的方法如下:
从Ri中随机选取一个特征值Hj,对于该特征值的两边特征Hj-1和Hj+1进行交叉处理,得到交叉之后的结果;
对染色体Ri进行变异的方法如下:
从Ri中随机选取一个特征值Hc,将Hc的混淆操作组合变异为混淆操作模块库中其他混淆操作的组合,实现变异,c∈[1,m]。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天系统科学与工程研究院,未经中国航天系统科学与工程研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710179465.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:SDK发送、应用发布、应用运行方法及装置
- 下一篇:业务信息防护装置