论文部分内容阅读
本文则着重于软件分析领域,对CPU模拟器的设计、实现与应用进行了研究,其主要目的,是在可执行程序模拟执行的基础上,进行程序的辅助分析工作。
针对于该CPU模拟器应用于软件分析、逆向工程、更贴近于真实系统的特点,本文研究了已有的模拟器,并在此基础上提出了自己的模拟器架构。本文详细论述了CPU模拟器设计、实现、测试与应用的各个阶段。在开发综述中,本文讨论了CPU模拟器的三个考虑因素以及由此而产生的分类标准,确定CPU模拟器是一个侧重于灵活性的功能模拟器。通过对一个真实CPU的体系结构进行抽象概括,得到了CPU模拟器的外在模型,继而设计了CPU模拟器的软件组成结构。本文设计并实现了一个CPU模拟器的原型系统PSX86,它是x86指令集的模拟器,能够模拟执行PE-COFF格式的WIN32程序。该系统有七个部件组成,包括数据型部件的建模,加载器的实现,指令解释器的实现,系统调用模拟,基于分析的界面模拟,调试器的实现,统计功能的实现。该系统能够实现可执行程序的标准与定制加载,并在对系统调用模拟的基础上,实现了消息机制和界面模拟。本文从准确性和性能两个方面分析了CPU模拟器的测试需求。