基于函数控制流图比对算法的二进制可执行程序相似性分析系统的设计与实现的中期报告_第1页
基于函数控制流图比对算法的二进制可执行程序相似性分析系统的设计与实现的中期报告_第2页
基于函数控制流图比对算法的二进制可执行程序相似性分析系统的设计与实现的中期报告_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于函数控制流图比对算法的二进制可执行程序相似性分析系统的设计与实现的中期报告一、选题背景二进制可执行程序的相似性分析是恶意代码分析、软件漏洞发现和代码抄袭检测等领域中的重要研究问题,也是二进制分析技术的重要应用之一。从二进制程序外观的角度来看,不同编写目的的程序往往拥有相似的功能模块和代码片段,因此对二进制程序进行相似性分析可以帮助分析者借助惯性思维或先验知识快速捕捉程序的结构、功能和设计原则,也可以帮助检测软件开发过程中的漏洞和抄袭行为。目前常见的二进制程序相似性分析方法包括基于序列比对的方法、基于指令统计和模式匹配的方法、基于汇编控制流图的方法、基于函数调用图的方法等。其中,基于函数控制流图的方法是较为常用的方法之一,通过绘制函数调用图和控制流图来表示程序的执行过程和程序结构,采用相似子图匹配算法来计算二进制程序之间的相似程度。在本项目中,我们基于函数控制流图比对算法,设计并实现了二进制程序相似性分析系统。该系统将二进制程序编译成LLVMIR、使用IDAPro提取反汇编语句、利用自研的IR构建和CG构建工具分别生成IRCFG和CGCFG、通过IRCFG和CGCFG提取出函数控制流图、采用基于子图匹配的相似性度量算法计算相似度。该系统具有高效性,能够支持百万级别的二进制文件比对和快速生成可视化报告。二、设计思路本项目采用的是基于函数控制流图比对算法的二进制程序相似性分析方法。设计思路如下:1.二进制程序预处理首先,将需要比对的二进制程序编译成LLVMIR,并使用IDAPro提取反汇编语句,获得二进制程序的汇编代码。2.控制流图构建利用自研的IR构建和CG构建工具,可以分别生成IRCFG和CGCFG。这些图形表示了二进制程序中的控制流转换,可以作为程序结构的表示形式。3.函数控制流图提取通过IRCFG和CGCFG,可以提取出二进制程序中的函数控制流图。在这些图形中,每个函数都是一个节点,函数调用则用有向边相连。4.相似性匹配采用基于子图匹配的相似度度量算法来计算函数控制流图之间的相似程度,并将相似性度量结果用于二进制程序的相似性分析。5.可视化报告生成将相似度评估结果可视化,生成报告并输出结果。三、目前进度目前我们已经完成了二进制程序预处理、IRCFG和CGCFG构建、函数控制流图提取以及相似性匹配的部分工作。具体来说,我们已经实现了以下功能:1.编写了二进制程序的预处理功能,可以将二进制程序编译成LLVMIR语言。2.利用IDAPro提取反汇编语句,获得二进制程序的汇编代码。3.设计并编写了IR构建和CG构建工具,可以将LLVMIR语言转为IRCFG和CGCFG,并进行函数控制流图提取。4.基于子图匹配的相似性度量算法已经实现,可以计算函数控制流图之间的相似程度。5.使用C++语言编写部分代码,基本实现了系统框架和相似性分析功能,能够实现二进制程序之间的相似度评估和报告生成。四、下一步计划我们的下一步计划是:1.完善系统框架和代码实现,将所有模块进行整合,并实现快速的相似度计算和报告生成功能。2.进行性能优化,提高系统计算效率和可扩展性。3.设计并编写用户界面,实现良好的用户体验。4.进行大型数据集上的测试和评估,检验系统的性能和可用性。五、总结本项目基于函数控制流图比对算法,设计并实现了二进制程序相似性分析系统。我们已

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论