【技术实现步骤摘要】
本专利技术涉及软件开发领域,具体涉及一种二进制文件控制流的并行分析方法。
技术介绍
1、在软件开发领域,通常由开发人员通过编程语言编写代码实现软件的功能,开发完成后通过编译器将源代码编译成可执行的二进制文件部署在目标设备上运行。由于编译器优化、现场环境复杂多变等原因导致二进制文件的执行过程与源代码所期望的行为产生了不一致。因此,对二进制文件进行静态和动态分析是发现潜在漏洞和理解其运行逻辑的重要手段。
2、angr是一个知名的开源二进制分析框架,其通过模拟执行还原二进制文件的控制流时基于dfs(deep first search)算法,沿着控制流跳转路径尽可能深的分析执行分支,达到最深层的基本块后进行回溯,反复执行这个过程直到还原整个控制流,如图2所示,angr的实现流程具体为:
3、第一步,开始分析后,angr找到二进制文件的执行入口,分析入口处的二进制代码,并创建入口基本块,将其加入cfg(control flow graph)图,设置为当前基本块。
4、第二步,angr对当前块进行标记,分析当前块
...【技术保护点】
1.一种二进制文件控制流的并行分析方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种二进制文件控制流的并行分析方法,其特征在于,在步骤S2中,工作进程数为CPU核心数的两倍。
3.根据权利要求1所述的一种二进制文件控制流的并行分析方法,其特征在于,当工作队列中的待分析的基本块不足以分配给所有等待的工作进程时,使未分配到待分析的基本块的工作进程继续等待。
4.根据权利要求1所述的一种二进制文件控制流的并行分析方法,其特征在于,根据工作进程的分析结果创建相应基本块及与其直接跳跃目标形成的深度为一的CFG图的具体方法为:
>5.根据权利...
【技术特征摘要】
1.一种二进制文件控制流的并行分析方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种二进制文件控制流的并行分析方法,其特征在于,在步骤s2中,工作进程数为cpu核心数的两倍。
3.根据权利要求1所述的一种二进制文件控制流的并行分析方法,其特征在于,当工作队列中的待分析的基本块不足以分配给所有等待的工作进程时,使未分配到待分析的基本块的工作进程继续等待。
4.根据权利要求1所述的...
【专利技术属性】
技术研发人员:王伟,罗柳庭,张昆,
申请(专利权)人:成都菁蓉联创科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。