目录如下:(对比了一下官方的第二期的目录完全不符合,与新版的目录相吻合!)
第一章 进制、寄存器与汇编指令(汇编与C语言相结合)
学习汇编能做什么(逆向,歪瓜,脱壳,反病毒,漏洞挖掘等等必备基础)
1.1 考试
1.2 不同进制的书写方法
1.3 为什么计算机要用二进制
1.4 不同进制间如何运算1
1.5 不同进制间如何运算2
1.6 为什么要用十六进制
1.7 什么是逻辑运算
1.8 计算机的计数与数学计数的区别
1.9 谁能告诉我计算机有多少通用寄存器
1.10 安装VC6,写简单的汇编
1.11 怎么操作汇编指令
1.12 什么是内存
1.13 寄存器与内存有什么区别
1.14 怎么把[ ]里面的值变成地址
1.15 堆栈的作用。
1.16 函数的调用过程1
1.17 函数的调用过程2
1.18 汇编指令运算过程中,出现进位借位,或者溢出该怎么办
1.19 对寄存器ESI或者EDI操作的指令有哪些
1.20 指令和内存有什么联系
1.21 如何用汇编写程序
1.22 逆向的起源。什么是内存框架
1.23 用汇编怎么调用函数
1.24 不用CALL指令,如何调用函数
参考资料:
《滴水内部教材》
《Intel白皮书(英文版)》
[color=]第二章 C语言
C语言(为什么绝大多公司用C语言来开发程序,而不用易语言呢,为什么微软的操作系统是用C语言写的呢,而不是C++呢)
2.1 C语言有哪些规则,如何赋值
2.2 什么是C语言表达式
2.3 “如果”代表C语言的哪条语句
2.4 “如果明天下雨,我不去逛街”该如何用C语言表达
2.5 假设(a*4)怎么用移位表达,a向哪边移,移多少
2.6 C语言有哪些循环语句
2.7 C语言for 语句该如何使用
2.8 什么是C语言变量
2.9 “现在有相同类型的100个变量”,怎么用一条C语句实现
2.10 什么是二维数组,二维数组跟一维数组有本质上的区别吗
2.11 C语言结构体是什么
2.12 怎样合理的运用C语言结构体
2.13 C语言变参函数有什么作用
2.14 深刻理解switch 语句1
2.15 深刻理解switch 语句2
2.16 C语言宏定义有什么好处
2.17 什么是C语言指针, 指针是怎么赋值的
2.18 C语言指针和数组有什么区别
2.19 C语言指针是有符号的,还是无符号的
2.20 “void a ;” 这样定义可以吗?什么是空指针
2.21 指针数组和数组指针分别代表什么
2.22 指针数组和数组指针的区别在哪里
2.23 怎样定义C语言函数指针
2.24 C语言函数指针有什么作用
参考资料:
《滴水内部教材》
《C++ Primer》
《C语言程序设计:现代方法》
[color=]第三章 汇编编码
学习硬编码的好处:(HOOK函数,系统HOOK, 代码变形,VM还原,TMD还原,解释器,调试器必备基础,这就是360可以横行的法宝)
机器码,简称汇编编码,俗称硬编码
3.1 定长编码 (0x40-0x4f 0x50-0x5f 0x70-0x7f 0x0f 0x80 – 0x0f 0x8f)
3.2 定长编码(0x04-0x07 0x0c-0x0f 0x14-0x17 0x1c-0x1d 0x24-0x27 0x2c-0x2d 0x34-0x37 0x3c-0x3d.)
3.3 定长编码 (0x60 0x61 0x90-0x97 0xa8 0xa9 0xb0-0xbf 0xc2 0xc3 0xcc 0xcd 0xd4 0xd5 0xe0-0xe3 0xe8 0xe90 0xf8-0xfd等等)
3.4 硬编码4 (写程序把定长编码打印出来)
3.5 硬编码5 (写程序把定长编码打印出来)
3.6 变长编码 (0x88 0x89 0x8a 0x8b)
3.7 变长编码 (0x88 0x89 0x8a 0x8b)
3.8 变长编码 (0x00-0x03 0x08-0x0b 0x10-0x13 0x18-0x1b 0x20-0x23 0x2b-0x2b 0x30-0x33 0x38-0x3b )
3.9 变长编码 (0x84-0x87 0x8c-0x8e 等等)
3.10 写程序把变长编码打印出来
3.11 写程序把变长编码打印出来
3.12 写程序把变长编码打印出来
3.13 前缀 (0x26 0x2e 0x36 0x3e 0x66 0x67 0xf0 0xf2 0xf3)
3.14 写程序处理前缀
3.15 写程序处理前缀
3.16 组编码 (0x80-83 0xc6-0xc7 0xd0-0xd3 等等)
3.17 写程序处理硬编码
3.18 0F开头两个字节的编码
参考资料:
《滴水内部教材》
《Intel白皮书(英文版)》
[color=]第四章 C++与MFC
4.1 结构体与类有什么区别
4.2 this指针的本质
4.3 继承有什么好处
4.4 多态与虚函数有什么联系
4.5 什么是运算符重载
4.6 模板是怎么运用的
4.7 一个Win32程序的执行过程(消息机制的本质)
4.8 MFC与Win32程序的关系
4.9 熟记MFC类层次结构
4.10 控件的使用
4.11 任意程序窗口句柄遍历
4.12 逆向窗口程序的通杀方法
参考资料:
《Essential C++》
《C++ Primer Plus》
《深入浅出MFC》
《VC++深入详解》
《MFC Windows程序设计》
[color=]第五章 Win32 API
5.1 文件操作
5.2 内存管理
5.3 进程线程
5.4 线程同步
5.5 进程间通信
5.6 网络通信
5.7 未公开API的使用
参考资料:
《Windows核心编程》
《Windows程序设计》
《深入解析Windows操作系统》
《Windows NT/2000 Native API Reference》
[color=]第六章 PE
学习PE的好处(加密解密,写壳,脱壳,注入,重载操作系统)
6.1 PE有哪些结构1
6.2 PE有哪些结构2
6.3 为什么要有节表,节表有什么好处
6.4 PE 磁盘拷贝到内存 (写程序)
6.5 PE 内存拷贝到拷贝磁盘,存盘(写程序)
6.6 怎么给PE添加一个节
6.7 PE扩大节有什么好处
6.8 PE合并节有什么作用
6.9 PE 输入表 (写程序打印输入表)
6.10 PE 输入表 (写程序打印输入表)
6.11 PE 输出表 (写程序打印输出表)
6.12 PE 输出表 (写程序打印输出表)
6.13 PE 重定位表
6.14 修改OEP 弹出MessageBox
6.15 添加节,拷贝一段函数进去
参考资料:
《滴水内部教材》
《Windows PE权威指南》
课程截图:
课程:链接: http://pan.baidu.com/s/1hq7XKS8 密码: n4bj 解压密码:www.lthack.com
|
|