本课程主要面对想要成为逆向工程师或相关职业的同学,需要有一定的汇编基础及计算机基础。通过深入浅出的介绍,引导同学系统的了解逆向工程的相关知识,包括逆向工程中的汇编语言,常用的工具,包括od、windbg及ida等。最后主要针对一些实例进行分析,包括一些病毒、木马的样本,以期达到教学目标。
第一章 汇编基础
1.什么是逆向
2.什么是汇编
3.进制与位宽
3.1 2进制 10进制 16进制
3.2 数据类型和内存形式(举例)
4.cpu储存资源
4.1 什么是寄存器(举例)
4.2 什么是标志位(举例)
5.寻址与堆栈
5.1寻址方式介绍
5.2地址、指针与引用(举例)
5.3什么是堆(举例)
5.4什么是栈(举例)
6.Intel指令集(举例)
6.1 算数运算
6.2 逻辑运算
6.3 位运算
6.4 流程控制
7.函数(综合举例)
8.小结
第二章基础工具教程
1.常用工具介绍
2.调试器及原理
2.1 Olldbg及x64dbg
2.2 Windbg
3.反编译工具及原理
3.1 IDA Pro
4.小结
第三章内存、指针、函数调用、算法及数据结构
1.从Hello World 开始(五课时)
1.1 PE结构、TEB与PEB
1.2 数据类型与数据结构
1.3 指针
1.4 逻辑语句逆向分析
1.5 循环语句逆向分析
1.6 分支语句逆向分析
1.7 常见算法分析
1.8 函数与调用
2. c++与win32(五课时)
2.1 结构体和类
2.2 构造与析构
2.3 虚函数
2.4 基类、多态和继承
2.5 一个c++的二叉树
第四章实战分析软件
病毒木马实战