.jpg)
书:pan.baidu.com/s/1y8Z3IfDstu8GPcVsYXlEaA?pwd=ljtd
一、基础知识与工具准备
- 反汇编与逆向分析技术概述
- 介绍了反汇编与逆向分析的基本概念、目的和应用场景。
- 工作环境与相关工具
- 介绍了Visual Studio、GCC、OllyDbg、x64dbg、WinDbg等调试工具的安装和使用。
- 介绍了IDA(Interactive Disassembler)等反汇编静态分析工具的使用。
- 反汇编引擎的工作原理
- 阐述了反汇编引擎如何将机器码转换为汇编代码的过程。
二、C++反汇编揭秘
- 基本数据类型的表现形式
- 分析了整数类型、浮点数类型、字符和字符串、布尔类型、地址、指针和引用、常量等C++基本数据类型在汇编中的表现形式。
- 认识启动函数与用户入口
- 介绍了程序的真正入口、VS2019的启动函数以及main函数的识别方法。
- 表达式的求值过程
- 分析了算术运算、关系运算、逻辑运算、位运算等表达式的求值过程及其在汇编中的实现。
- 流程控制语句的识别
- 介绍了if语句、if…else…语句、switch语句等流程控制语句在汇编中的识别方法。
三、函数与变量
- 函数的工作原理
- 阐述了栈帧的形成和关闭、各种调用方式、函数参数和返回值的传递方式等。
- 变量在内存中的位置和访问方式
- 分析了全局变量、局部变量、局部静态变量、堆变量等在内存中的位置和访问方式。
四、数组、指针与结构体
- 数组和指针的寻址
- 介绍了数组在函数内、作为参数、作为返回值时的寻址方式。
- 分析了下标寻址和指针寻址的区别。
- 多维数组与存放指针类型数据的数组
- 介绍了多维数组的寻址方式和存放指针类型数据的数组的处理方法。
- 指向数组的指针变量与函数指针
- 分析了指向数组的指针变量的使用方法和函数指针的概念及应用。
- 结构体和类
- 介绍了结构体的内存布局、this指针、静态数据成员、对象作为函数参数和返回值时的处理方式。
五、构造函数与析构函数
- 构造函数的出现时机
- 分析了构造函数在对象创建时的调用时机。
- 析构函数的出现时机
- 介绍了析构函数在对象销毁时的调用时机。
六、虚函数与继承
- 虚函数的机制与识别
- 阐述了虚函数的实现机制和识别方法。
- 从内存角度看继承和多重继承
- 分析了类和类之间的关系、多重继承、抽象类和虚继承等概念在内存中的表现形式。
七、异常处理
- 异常处理的相关知识
- 介绍了异常处理的基本概念、流程和机制。
- 异常类型的处理流程
- 分析了异常类型为基本数据类型和对象时的处理流程。
八、逆向分析技术应用
- 逆向分析技术案例
- 通过PEiD的工作原理分析、调试器OllyDbg的工作原理分析、大灰狼远控木马逆向分析、WannaCry勒索病毒逆向分析等案例,展示了逆向分析技术的具体应用和实施步骤。
这些关键内容涵盖了《C++反汇编与逆向分析技术揭秘(第2版)》的主要知识点和技术要点,对于学习和掌握C++反汇编与逆向分析技术具有重要的指导意义。