[发明专利]代码混淆方法及装置、计算设备、计算机存储介质有效
申请号: | 201810251241.1 | 申请日: | 2018-03-26 |
公开(公告)号: | CN108710787B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 汪德嘉;华保健;刘庆川 | 申请(专利权)人: | 江苏通付盾信息安全技术有限公司;江苏通付盾科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 江苏省苏州市工业园区东*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 混淆 方法 装置 计算 设备 计算机 存储 介质 | ||
1.一种代码混淆方法,其特征在于,包括:
解析源代码,生成与所述源代码相对应的第一抽象语法树,其中,所述第一抽象语法树中包含条件跳转语句;
通过真实内存、构建的虚假内存及语句选择器替换所述条件跳转语句,获得第二抽象语法树,其中,所述虚假内存及所述真实内存放置于所述语句选择器中,所述语句选择器用于将当前条件跳转语句中将要执行的分支语句块赋值于真实内存;将当前条件跳转语句中不执行的另一分支语句块赋值于虚假内存;其中,仅对所述虚假内存进行写入操作,而不对虚假内存进行读取;
生成与所述第二抽象语法树相对应的混淆代码。
2.根据权利要求1所述的方法,其特征在于,所述语句选择器为具有两个槽位的一维数组。
3.根据权利要求2所述的方法,其特征在于,所述虚假内存放置于所述语句选择器中槽位为0的数组中;所述真实内存放置于所述语句选择器中槽位为1的数组中。
4.根据权利要求3所述的方法,其特征在于,所述将当前条件跳转语句中将要执行的分支语句块赋值于真实内存;将当前条件跳转语句中不执行的另一分支语句块赋值于虚假内存进一步包括:
当当前条件跳转语句中的控制转移条件为真时,将条件跳转语句中满足控制转移条件所对应的分支语句块赋值于槽位1,将条件跳转语句中不满足控制转移条件所对应的分支语句块赋值于槽位0;
当当前条件跳转语句中的控制转移条件为假时,将条件跳转语句中满足控制转移条件所对应的分支语句块赋值于槽位0,将条件跳转语句中不满足控制转移条件所对应的分支语句块赋值于槽位1。
5.根据权利要求3所述的方法,其特征在于,所述将当前条件跳转语句中将要执行的分支语句块赋值于真实内存;将当前条件跳转语句中不执行的另一分支语句块赋值于虚假内存进一步包括:
根据条件跳转语句中的控制转移条件确定待测参数,其中,当满足所述控制转移条件时,待测参数值为1;否则,待测参数值为0;
预先设定对比值0或1;
若对比值为1,当待测参数等于对比值时,将条件跳转语句中满足控制转移条件所对应的分支语句块赋值于槽位1,将条件跳转语句中不满足控制转移条件所对应的分支语句块赋值于槽位0;当待测参数不等于对比值时,将条件跳转语句中不满足控制转移条件所对应的分支语句块赋值于槽位1,将条件跳转语句中满足控制转移条件所对应的分支语句块赋值于槽位0;
若对比值为0,当待测参数等于对比值时,将条件跳转语句中满足控制转移条件所对应的分支语句块赋值于槽位0,将条件跳转语句中不满足控制转移条件所对应的分支语句块赋值于槽位1;当待测参数不等于对比值时,将条件跳转语句中不满足控制转移条件所对应的分支语句块赋值于槽位0,将条件跳转语句中满足控制转移条件所对应的分支语句块赋值于槽位1。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述虚假内存类型由条件跳转语句中分支语句块的类型决定。
7.根据权利要求6所述的方法,其特征在于,所述虚假内存类型由条件跳转语句中分支语句块的类型决定进一步包括:
当条件跳转语句中分支语句块的类型为函数调用类型,则所述虚假内存为函数形式;
当条件跳转语句中分支语句块的类型为变量类型,则所述虚假内存为变量形式;
当条件跳转语句中分支语句块的类型为标签类型,则所述虚假内存为标签形式。
8.根据权利要求1-5中任一项所述的方法,其特征在于,在所述生成与所述源代码相对应的第一抽象语法树之后,所述方法还包括:
对所述第一抽象语法树进行三地址转换;
判断转换后的第一抽象语法树中是否包含单一的return语句,若是,对所述return语句进行优化处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏通付盾信息安全技术有限公司;江苏通付盾科技有限公司,未经江苏通付盾信息安全技术有限公司;江苏通付盾科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810251241.1/1.html,转载请声明来源钻瓜专利网。