课程目录
1 课前准备&工具安装与配置 (16:08) 2 软件中的逆向分析与非官方功能扩展(1) (20:56) 3 软件中的逆向分析与非官方功能扩展(2) (17:06) 4 CPU指令集&最简单的函数&Debug/Release (14:51) 5 剖析C语言中的经典程序-Hello World (16:32) 6 函数的序言、函数的尾声 (07:24) 7 逆向生长的堆栈 (04:04) 8 栈的用途 (25:03) 9 栈的噪音 (16:03) 10 函数与参数 (18:57) 11 整数型数据的指针传递(1) (10:35) 12 整数型数据的指针传递(2) (14:00) 13 整数型数据的指针传递(3) (11:24) 14 整数型数据的指针传递(4) (27:04) 15 函数如何获取参数? (15:48) 16 如何接收函数的返回值? (34:20) 17 用指针做函数的参数 (21:04) 18 被废弃的GOTO语句 (08:00) 19 条件跳转指令(1) (10:38) 20 条件跳转指令(2) (07:01) 21 条件跳转指令(3) (13:54) 22 条件跳转指令(4) (12:11) 23 SWITCH CASE语句(1) (16:05) 24 SWITCH CASE语句(2) (19:32) 25 SWITCH CASE语句(3) (22:33) 26 SWITCH CASE语句(4) (13:00) 27 一个简单的FOR循环 (18:11) 28 复制内存的For循环 (11:22) 29 计算C语言字符串的长度 (12:14) 30 插播:使用VC++ 编译汇编源码文件 (06:27) 31 数学计算指令的替换——乘法 (23:23) 32 数学计算指令的替换——除法(续上) (06:26) 33 FPU:浮点数的乘法和除法 (22:24) 34 FPU:浮点数的参数传递 (10:33) 35 FPU:浮点数大小比较 (06:41) 36 FPU:为何FPU指令用的这么少? (12:02) 37 数组:数组的存储结构 (24:14) 38 数组:缓冲区溢出 (16:07) 39 数组:缓冲区溢出保护 (10:45) 40 数组:字符串指针 (14:46) 41 数组:数组的溢出和溢出保护 (08:23) 42 数组:多维数组 (19:39) 43 数组:二维字符串数组的封装 (08:32) 44 位操作:特定位的操作 (14:36) 45 位操作:特定位的设置和清除 (07:49) 46 位操作:FPU上特定位的设置和清除 (23:35) 47 位操作:位校验 (10:47) 48 线性同余法的伪随机数函数 (10:32) 49 结构体:SYSTEMTIME解析 (11:52) 50 结构体:以数组代替结构体 (06:13) 51 结构体:用malloc来分配结构体的空间 (10:45) 52 结构体:结构体的字段封装 (12:41) 53 结构体:结构体的嵌套 (15:45) 54 结构体:结构体中的位操作 (17:17) 55 结构体:用结构体构建浮点数 (08:31) 56 共用体:生成一个伪随机数 (10:55) 57 共用体:浮点数的机器精度 (04:36) 58 函数指针与回调函数 (14:43) 59 64位数据的处理(1) (15:28) 60 64位数据的处理(2) (17:14)





