[发明专利]一种流程差异定位方法及装置在审
申请号: | 202111340478.5 | 申请日: | 2021-11-12 |
公开(公告)号: | CN114003507A | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 赵润泽;汤国祥 | 申请(专利权)人: | 北京天融信网络安全技术有限公司;北京天融信科技有限公司;北京天融信软件有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京金信知识产权代理有限公司 11225 | 代理人: | 喻嵘 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 流程 差异 定位 方法 装置 | ||
本发明提供一种流程差异定位方法及装置,所述方法包括:获取源代码;从源代码中摘取源代码片段;初始化所述源代码片段,并对初始化的所述源代码片段进行编译运行;获得运行结果;在所述运行结果与所述源代码片段在所述源代码中运行时的结果不同的情况下,在所述源代码片段与源代码中的对应位置处均执行插桩操作;运行插桩后的所述源代码片段及源代码,以至少分别寻找所述源代码片段及源代码中的流程控制关键点,并得到记录有插桩后的所述源代码片段与源代码的运行数据的log文件;至少基于所述log文件辅助确定源代码片段相对所述源代码的流程差异位置。本发明的流程差异定位方法能够辅助用户快速确定摘取的源代码片段相对源代码的流程差异位置。
技术领域
本发明实施例涉及计算机技术领域,特别涉及一种流程差异定位方法及装置。
背景技术
在开源代码漏洞挖掘过程中,经常需要从开源代码中提取出关键代码进行测试。但是所提取的代码,往往因为参数设置不完全或静态变量初始化不完全等原因,导致无法激活代码中的功能流程,或者激活了错误流程,从而使运行的代码无法得到预期结果。
传统意义上,想要解决此类问题,需要人工反复精读开源源码,找出初始化不完善的地方,进行补全。例如,摘取的开源代码片段单独运行后,往往得不到想要的结果。编程人员需要找出特定流程无法激活的底层因果关系,所以需要编程人员大量的阅读源码,找到关键点进行修改。具体流程参考图1,如图1所示,编程人员首先会阅读开源代码,理解代码的含义,然后对开源代码中的特定功能进行摘取。之后编程人员会对摘取的代码进行初始化部分的补全,使之能正常的运行起来,然后比对运行结果是否符合预期。当运行结果不符合预期的时候,会重新理解开源代码的含义,补全初始化阶段不完善的地方。
采用上述方法修缮开源代码,在面对巨量开源代码片段时,往往需要耗费大量的时间反复阅读代码,不仅效率低下,且往往很难确定出关键的流程差异点。
发明内容
本发明提供了一种流程差异定位方法及装置,用于辅助工作人员快速确定摘取的源代码片段与源代码间的流程差异内容及位置。
为了解决上述技术问题,本发明实施例提供了一种流程差异定位方法,包括:
获取源代码;
从所述源代码中摘取源代码片段;
初始化所述源代码片段,并对初始化的所述源代码片段进行编译运行;
获得运行结果;
在所述运行结果与所述源代码片段在所述源代码中运行时的结果不同的情况下,在所述源代码片段与源代码中的对应位置处均执行插桩操作;
运行插桩后的所述源代码片段及源代码,以至少分别寻找所述源代码片段及源代码中的流程控制关键点,并得到记录有插桩后的所述源代码片段与源代码的运行数据的log文件;
至少基于所述log文件辅助确定所述源代码片段相对所述源代码的流程差异位置。
作为一可选实施例,所述运行插桩后的所述源代码片段及源代码,以至少分别寻找所述源代码片段及源代码中的流程控制关键点,包括:
对所述源代码片段与源代码分别进行分块处理,得到多个代码块;
至少基于每个所述代码块在对应的所述源代码片段或源代码中的上下文,从多个所述代码块中确定出作为候选流程控制关键点的第一代码块;
对所述第一代码块进行关键点过滤处理,以得到分别对应所述源代码片段以及所述源代码中的所述流程控制关键点的第二代码块。
作为一可选实施例,所述至少基于每个所述代码块在对应的所述源代码片段或源代码中的上下文,从多个所述代码块中确定出作为候选流程控制关键点的第一代码块,包括:
确定每个所述代码块在对应的所述源代码片段或源代码中的上下文;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天融信网络安全技术有限公司;北京天融信科技有限公司;北京天融信软件有限公司,未经北京天融信网络安全技术有限公司;北京天融信科技有限公司;北京天融信软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111340478.5/2.html,转载请声明来源钻瓜专利网。