二进制代码数据识别技术研究及原型实现

[复制链接]
查看: 238|回复: 0

5万

主题

8万

帖子

18万

积分

论坛元老

Rank: 8Rank: 8

积分
189003
发表于 2022-4-16 15:52:01 | 显示全部楼层 |阅读模式
目:


雅宝题库答案
****此区域为收费内容****    需支付 1 知识币后可查看,1币=0.01元查看答案


雅宝题库解析:
为了对由C++语言程序编译得到的二进制代码进行安全性检测,需要对二进制代码进行逆向分析。然而国内外有关C++逆向分析的参考资料和技术报告非常稀缺,逆向分析工作者只能凭借汇编语言和C语言的知识对大多数采用面向对象方式实现的软件进行逆向工程,逆向的最终结果存在明显的缺陷,因此有必要对其逆向分析方法与技术进行深入的研究。考虑到二进制可执行代码的组织方式很大程度上依赖于编译器版本,本文主要以微软Visual C++ 2010编译器为基础,研究基于此类编译器的二进制可执行代码的数据逆向分析技术。旨在从二进制可执行代码中识别与恢复其关键数据信息,包括解析PE文件头、识别跳转表、识别虚函数表、识别并恢复类继承层次信息,并尽可能有效而准确地将二进制可执行文件中的数据和代码分离,从而对进一步的二进制代码分析起到辅助以及数据支撑作用。本文主要工作包括:(1)对多条件分支语句按照索引变量分布进行了详细的分类,提出了一种采用程序切片和特征指令匹配相结合的方法,完成了多条件分支语句中的跳转表识别与恢复。(2)综合考虑了C++中三种不同继承模式下的多态类对象生成,提出了一种指令交叉引用、特征指令匹配和程序切片相结合的方法,完成了多态类的虚函数表的识别与恢复。(3)通过打开微软编译器的运行时类型信息编译选项,借用RTTI数据结构信息,提出了一种改进的多态类继承层次的恢复方法,其能够简单且高效地实现多态类的继承层次恢复。基于上述研究成果以及IDA Pro 5.5平台,设计并实现一个针对微软Visual C++ 2010编译器的数据逆向分析原型工具插件集,自动化地完成对上述数据的识别与恢复。本文最后对原型工具进行的测试结果表明,本文所提出的C++数据逆向分析技术和方法是可行的,插件工具输出的结果令人满意。





上一篇:氮化硅多孔陶瓷的胶态成型工艺及大气气氛烧结性能研究
下一篇:Web服务安全会话与安全策略的研究与实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐
|网站地图|网站地图