[发明专利]代码构建方法、装置、设备和存储介质有效
申请号: | 202010543411.0 | 申请日: | 2020-06-15 |
公开(公告)号: | CN112799649B | 公开(公告)日: | 2023-09-12 |
发明(设计)人: | 贺洪军 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F11/36 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 潘登 |
地址: | 518057 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 构建 方法 装置 设备 存储 介质 | ||
本申请公开一种代码构建方法、装置、设备和存储介质。该方法包括:根据代码构建命令中的不同环境变量生成至少两个测试构建命令;对代码分别执行所述至少两个测试构建命令,若执行结果不一致,则根据所述代码构建命令中的环境变量调整所述代码构建命令;对所述代码执行调整后的代码构建命令。
技术领域
本申请涉及计算机领域,尤其涉及代码构建方法、装置、设备和存储介质。
背景技术
现在出于对安全的考量,对代码的审计要求越来越严格,越来越广泛,代码二进制等效审计也成为了一项重要指标。
现在业界应对代码二进制等效审计的通用方法有两种方式:被动分析和主动防御。
被动分析:对多次代码构建结果进行对比,分析说明差异是由于时间戳、随机数、文件顺序等不影响程序逻辑的因素造成,间接证明待审计的代码二进制等效。这种遇到差异再被动分析的方式存在如下劣势:一、及时性差,如果发现差异再分析,往往达不到用户的时间要求,不能及时给用户提供差异分析报告;二、可复用性差,由于分析结果可重复利用率低,更换工程后,可能又要耗时、耗力的重复大量的分析工作;三、分析效率低,在构建过程中,差异是会传递的,构建开始过程中的微小差异,会造成最终结果的大差异,被动分析时,需要逆向追溯,层层分析,找到造成构建结果差异的根本原因,分析过程费时、费力,效率比较低。
主动防御:事先分析工程源码,找出可能影响代码二进制等效的因素:时间戳、随机数、文件顺序、字符集等,在不影响程序逻辑的前提下将其修改为常量进行修复或规避,使得多次构建结果二进制一致,从而保证审计的代码二进制等效。此方法的劣势:一、可复用性差,分析修改工程源码的工作不可复用,更换工程后,又得重复繁琐的工程分析和修改工作;二、分析效率低,需要人工去分析工程,工作量大,且有可能遗漏。
发明内容
为解决上述技术问题,本申请提供代码构建方法、装置、设备和存储介质。
第一方面,本申请实施例提供一种代码构建方法,包括:
根据代码构建命令中的不同环境变量生成至少两个测试构建命令;
对代码分别执行所述至少两个测试构建命令,若执行结果不一致,则根据所述代码构建命令中的环境变量调整所述代码构建命令;
对所述代码执行调整后的代码构建命令。
第二方面,本申请实施例提供一种代码构建装置,包括:
生成模块,用于根据代码构建命令中的不同环境变量生成至少两个测试构建命令;
调整模块,用于对代码分别执行所述至少两个测试构建命令,若执行结果不一致,则根据所述代码构建命令中的环境变量调整所述代码构建命令;
执行模块,用于对所述代码执行调整后的代码构建命令。
第三方面,本申请提供了一种设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例提供的方法。
第四方面,本申请实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例中的任意一种方法。
关于本申请的以上实施例和其他方面以及其实现方式,在附图说明、具体实施方式和权利要求中提供更多说明。
附图说明
图1是本申请提供的一种代码构建方法的流程示意图;
图2为本申请提供的一种代码构建装置的结构示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010543411.0/2.html,转载请声明来源钻瓜专利网。