论文部分内容阅读
本文是“十五”军事电子预研项目“C~3I系统应用软件逆向工程开发工具研究”中的一部分。本项目的目标是提供一套逆向工程工具,以提供符合UML标准的动态模型的逆向生成、符合UML标准的静态模型的逆向生成与分层抽象等方面的能力;将这一套工具无缝集成到Rational开发环境中,并与该环境中的其它工具协同工作,以扩充Rational开发环境在与源代码结构和语义相关的工具方面的支持;将研制结果应用于实际系统开发,为提高各类军事电子信息系统的面向对象开发、维护和重用水平提供有效的支持。本文首先对逆向工程进行了研究,介绍了逆向工程的基本原理及应用,对反射原理及UML进行了论述,接着分析了开放编译器OpenC++的全部源程序,利用RationalRose工具逆向出OpenC++的类图,在分析源程序的基础上,得到了OpenC++的流程图,总结出OpenC++的工作原理与它所提供的能力,确定了用OpenC++实现静态解析与植入的基本策略和关键技术,在此基础上,对具体实现方法进行了研究与探讨。针对实际需要,修改了OpenC++源程序,对OpenC++进行了面向静态解析与动态植入的扩充。