逆向工程C++软件分析技术详解

需积分: 0 3 下载量 139 浏览量 更新于2024-07-24 收藏 966KB PDF 举报
逆向工程 C++ 电子书 本书是关于逆向工程的电子书,主要讲解如何对 C++ 软件进行逆向工程分析。作者 PaulVincentSabanal 和 MarkVincentYason 通过详细的分析和讨论,教读者如何手工识别 C++ 对象,以及如何自动完成这一分析过程。 第一部分:引言和必要性 逆向工程分析人员需要能够从二进制可执行文件中识别出 C++ 程序的结构,并且能够标识出各个主要的类,以及这些类之间的关系(继承、派生等)。为了达到这一点,逆向工程分析人员必须能够识别出这些类、识别出这些类之间的关系、识别出类中的各个成员。 第二部分:手工方法 在手工分析 C++ 程序时,需要识别类及其构造函数、识别类、判别类与类之间的关系、辨别类的成员。这些步骤都是手工分析 C++ 程序的关键步骤。 第三部分:自动化 在自动化分析 C++ 程序时,需要使用 OOP.RE 工具、选择静态分析的方式、自动化分析的策略。自动化分析的策略包括利用 RTTI 识别多态类、利用虚函数表识别多态类、通过搜索构造/析构函数来识别类、识别类与类之间的继承关系、类的成员的识别。 第四部分:小结 本电子书的主要目的是教读者如何手工和自动化地对 C++ 软件进行逆向工程分析。读者可以通过本书学习逆向工程的技术和策略,对 C++ 软件进行逆向工程分析。 知识点: 1. 逆向工程的定义和必要性 2. 手工分析 C++ 程序的步骤 3. 自动化分析 C++ 程序的策略 4. OOP.RE 工具的使用 5. RTTI 的使用 6. 虚函数表的使用 7. 构造/析构函数的使用 8. 类之间的继承关系 9. 类的成员的识别 10. 自动化分析结果的可视化 本电子书对 C++ 软件的逆向工程分析进行了详细的讲解和讨论,读者可以通过本书学习逆向工程的技术和策略,对 C++ 软件进行逆向工程分析。