[发明专利]一种代码处理方法及装置有效
申请号: | 202010289686.6 | 申请日: | 2020-04-14 |
公开(公告)号: | CN111475152B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 张铮;李秉政;王晓梅;姚远;邰铭;刘镇武;李方云;趙玉风;聂广来;曲晟 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学;网络通信与安全紫金山实验室 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/41 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张建 |
地址: | 450001 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 处理 方法 装置 | ||
1.一种代码处理方法,其特征在于,包括:
获得用户输入的源代码和编译方式,其中,所述编译方式包括异构度和编译选项参数;
将所述源代码按照与所述编译选项参数对应的编译等级编译为目标代码;
分别调用预设函数库中预设数量的各库函数,对所述各库函数中每一个库函数:与目标代码构建为一个异构功能等价执行文件,其中,所述预设数量等于所述异构度的数值,所述预设函数库中的库函数之间互为异构等价关系;
其中,在所述编译选项参数对应的所述编译等级包括控制流级和指令级时,所述将所述源代码按照与所述编译选项参数对应的编译等级编译为目标代码,包括:
将所述源代码映射为初始中间代码;
对所述初始中间代码进行与所述控制流级对应的控制流伪造处理,获得加密中间代码;
将所述加密中间代码转化为目标语言的初始汇编指令;
对所述初始汇编指令中的至少一个预设指令类型的目标指令进行与所述指令级对应的随机化置换操作,获得随机化汇编指令并确定与所述随机化汇编指令对应的目标代码。
2.根据权利要求1所述的方法,其特征在于,所述将所述源代码映射为初始中间代码,包括:
对所述源代码中的指定字符串进行异构加密,获得异构加密代码;
将所述异构加密代码映射为初始中间代码。
3.根据权利要求1所述的方法,其特征在于,所述对所述初始中间代码进行与所述控制流级对应的控制流伪造处理,获得加密中间代码,包括:
对所述初始中间代码进行控制流平展化,获得加密中间代码。
4.根据权利要求1所述的方法,其特征在于,所述对所述初始中间代码进行与所述控制流级对应的控制流伪造处理,获得加密中间代码,包括:
对所述初始中间代码进行控制流平展化,获得加密中间初始代码;
在所述加密中间初始代码中添加预设伪造控制流和/或预设伪造指令,获得加密中间代码。
5.根据权利要求3至4中任一所述的方法,其特征在于,所述对所述初始中间代码进行控制流平展化,包括:
将所述初始中间代码中的控制语句随机转化为switch分支选择语句;
和/或,将所述初始中间代码中的跳转语句和分支语句随机添加条件跳转指令。
6.根据权利要求1所述的方法,其特征在于,所述对所述初始汇编指令中的至少一个预设指令类型的目标指令进行与所述指令级对应的随机化置换操作,包括:
对所述初始汇编指令中的任一指令:确定该指令的操作码,在预设操作码数据库中查询是否存在所述操作码,如果存在,则确定该指令为预设指令类型的目标指令,对该目标指令进行随机化置换操作,其中,所述随机化置换操作包括如下操作方式中的至少一种操作方式:
操作方式一:使用多个替换指令替换该目标指令;
操作方式二:调换该目标指令在所述初始汇编指令中的位置;
操作方式三:在与该目标指令相邻的位置插入干扰指令。
7.根据权利要求1所述的方法,其特征在于,所述方法应用在云服务端,所述云服务端与web端通信连接,在所述分别调用预设函数库中预设数量的各库函数,对所述各库函数中每一个库函数:与目标代码构建为一个异构功能等价执行文件之后,所述方法还包括:
将各异构功能等价执行文件发送至所述web端。
8.一种代码处理装置,其特征在于,包括:输入获得单元、编译单元和执行文件生成单元,
所述输入获得单元,用于获得用户输入的源代码和编译方式,其中,所述编译方式包括异构度和编译选项参数;
所述编译单元,用于将所述源代码按照与所述编译选项参数对应的编译等级编译为目标代码;
所述执行文件生成单元,用于分别调用预设函数库中预设数量的各库函数,对所述各库函数中每一个库函数:与目标代码构建为一个异构功能等价执行文件,其中,所述预设数量等于所述异构度的数值,所述预设函数库中的库函数之间互为异构等价关系;
其中,在所述编译选项参数对应的所述编译等级包括控制流级和指令级时,所述将所述源代码按照与所述编译选项参数对应的编译等级编译为目标代码,包括:
将所述源代码映射为初始中间代码;
对所述初始中间代码进行与所述控制流级对应的控制流伪造处理,获得加密中间代码;
将所述加密中间代码转化为目标语言的初始汇编指令;
对所述初始汇编指令中的至少一个预设指令类型的目标指令进行与所述指令级对应的随机化置换操作,获得随机化汇编指令并确定与所述随机化汇编指令对应的目标代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学;网络通信与安全紫金山实验室,未经中国人民解放军战略支援部队信息工程大学;网络通信与安全紫金山实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010289686.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:病人体温调节装置
- 下一篇:降低吸附法油气回收工艺吸附床热点温度的方法