[发明专利]一种代码编译方法及装置有效
申请号: | 202010289966.7 | 申请日: | 2020-04-14 |
公开(公告)号: | CN111475168B | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | 张铮;邵昱文;王晓梅;姚远;邰铭;刘浩;趙玉风;聂广来;潘传幸;邢福康 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学;网络通信与安全紫金山实验室 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 李金 |
地址: | 450001 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 编译 方法 装置 | ||
1.一种代码编译方法,其特征在于,包括:
将获取的第一源代码进行信息替换得到第二源代码;
对所述第二源代码进行词法分析、语法分析和语义分析,生成汇编代码;
通过修改所述汇编代码中的数据段、修改所述汇编代码中数据运算的运算过程和修改所述汇编代码中函数的函数结构三种修改方式中的至少一种修改方式对所述汇编代码进行修改;
将修改后的汇编代码转化为机器码程序,将所述机器码程序与库函数进行链接,得到可执行文件;
所述修改所述汇编代码中函数的函数结构,包括:
将获取到的所述汇编代码中的函数拆分成至少两个函数体;其中,所述函数体为所述汇编代码的函数中的部分函数;
从所述至少两个函数体中确定至少一个函数体作为样本函数体,扩展得到与所述样本函数体的函数结构相同但功能不同的扩展函数体;其中,所述扩展函数体之间可相互跳转,且所述扩展函数体可跳转至所述样本函数体;
在所述扩展函数体内插入改变所述扩展函数体的运算过程的指令,实现函数混淆。
2.如权利要求1所述的方法,其特征在于,所述修改所述汇编代码中的数据段,包括:
读取所述汇编代码中的数据段;
随机转移所述数据段的数据地址,并记录所述数据地址的偏移量;
根据所述偏移量修改所述汇编代码的数据段的数据指针,使得所述数据段的数据指针指向转移后的数据地址。
3.如权利要求2所述的方法,其特征在于,所述修改所述汇编代码中的数据段,还包括:
若所述数据段为读写数据段,在获取所述读写数据段的数据后,插入用于设置文件锁的汇编指令;其中所述文件锁用于锁定所述读写数据段的数据不被读取。
4.如权利要求1所述的方法,其特征在于,所述修改所述汇编代码中数据运算的运算过程,包括:
获取所述汇编代码中的运算指令和递归语句;
生成一个随机数,根据预先设定的随机数与运算指令的对应关系,确定与所述随机数对应的运算指令;
将所述汇编代码中的运算指令替换为所述随机数对应的运算指令,其中所述随机数对应的运算指令和所述汇编代码中的运算指令对相同数值的运算结果相同;
将所述递归语句替换为与所述递归语句实现相同功能的循环语句。
5.如权利要求1所述的方法,其特征在于,所述将获取的第一源代码进行信息替换得到第二源代码,包括:
在获取的第一源代码初始化后,将所述第一源代码进行函数名替换、变量名替换和宏定义替换中的至少一种,得到第二源代码;其中,
所述函数名替换包括:获取所述第一源代码中的函数名,将所述函数名替换为与所述函数名对应的第一字符串;其中,所述第一字符串与被替换的所述函数名的含义不相同;
所述变量名替换包括:获取所述第一源代码中的变量名,将所述变量名替换为与所述变量名对应的第二字符串;其中,所述第二字符串没有在所述第一源代码中被用作为变量名或宏定义;
所述宏定义替换包括:获取所述第一源代码中的宏定义,将所述宏定义替换为与所述宏定义对应的第三字符串;所述第三字符串没有在所述第一源代码中被用作为变量名或宏定义。
6.如权利要求1所述的方法,其特征在于,在获取所述第一源代码之前还包括:
获取加密的第一源代码包;
对所述第一源代码包中文件大小不超过预设值的源代码包进行解密,得到第二源代码包;
对所述第二源代码包进行解包,得到初始源代码;
对所述初始源代码进行特征检测,以判断所述初始源代码是否为恶意软件的源代码;
若所述初始源代码不是恶意软件的源代码,将所述初始源代码作为所述第一源代码;
若所述初始源代码是恶意软件的源代码,删除所述初始源代码,并输出警告信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学;网络通信与安全紫金山实验室,未经中国人民解放军战略支援部队信息工程大学;网络通信与安全紫金山实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010289966.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:空调器与新风机联动控制方法、装置及空调系统
- 下一篇:安全带预紧装置和车辆