目录
本书资源
第1章快速构建高效的开发环境
1.1安装与配置Visual Studio 2022环境
1.1.1Visual Studio 2022安装流程
1.1.2Visual Studio 2022配置指南
1.2调试工具的基本用法
1.2.1Visual Studio调试工具
1.2.2PEbear工具
1.2.3x64dbg工具
1.2.4System Informer工具
第2章Windows C++编程基础
2.1初识Windows API函数
2.1.1数据类型
2.1.2函数结构
2.1.3调用函数
2.1.4错误处理
2.2管理内存空间
2.2.1虚拟内存
2.2.2内存页
2.2.3申请与释放内存
2.3结构体的定义与使用
2.4动态链接库的创建与引用
2.4.1创建动态链接库
2.4.2引用动态链接库
第3章剖析Windows PE文件
3.1PE文件组成结构
3.1.1DOS头
3.1.2DOS存根
3.1.3PE头
3.1.4节表
3.1.5节
3.2使用C++解析PE文件
3.2.1读取PE文件
3.2.2解析文件头
3.2.3解析可选头
3.2.4解析节表
3.2.5解析节
3.3PE文件中存储shellcode
3.3.1Msfvenom生成shellcode
3.3.2在.data节中存储shellcode
3.3.3在.text节中存储shellcode
3.3.4在.rsrc节中存储shellcode
3.3.5加载并执行.rsrc中的shellcode
第4章shellcode的加密与混淆
4.1XOR加密与解密
4.1.1XOR算法的基本原理
4.1.2XOR加密shellcode的实现方法
4.2RC4加密与解密
4.2.1RC4算法的基本原理
4.2.2RC4加密shellcode的实现方法
4.3AES加密与解密
4.3.1AES算法的基本原理
4.3.2AES加密shellcode的实现方法
4.4IPv4混淆
4.4.1IPv4地址的基础知识
4.4.2基于IPv4混淆shellcode
4.5IPv6混淆
4.5.1IPv6地址的基础知识
4.5.2基于IPv6混淆shellcode
4.6MAC混淆
4.6.1MAC地址的基础知识
4.6.2基于MAC混淆shellcode
4.7UUID混淆
4.7.1UUID编号的基础知识
4.7.2基于UUID混淆shellcode
第5章深度剖析进程注入
5.1遍历进程
5.1.1基于CreateToolhelp32Snapshot枚举进程
5.1.2基于EnumProcesses枚举进程
5.1.3基于NtQuerySystemInformation枚举进程
5.2常规进程注入
5.2.1常规进程注入原理
5.2.2常规进程注入实践
5.3APC注入
5.3.1APC注入原理
5.3.2APC注入实践
5.4节区映射注入
5.4.1节区映射注入原理
5.4.2节区映射注入实践
5.5模块覆盖注入
5.5.1模块覆盖注入原理
5.5.2模块覆盖注入实践
5.6进程镂空注入
5.6.1进程镂空注入原理
5.6.2进程镂空注入实践
第6章解析线程劫持
6.1线程劫持的基础知识
6.1.1线程劫持的本质原理
6.1.2线程劫持的相关函数
6.2劫持本地线程
6.2.1创建目标线程
6.2.2修改线程上下文
6.2.3恢复目标线程
6.2.4劫持本地线程实践
6.3远程线程劫持
6.3.1获取远程进程句柄
6.3.2获取远程线程句柄
6.3.3向远程进程写入shellcode
6.3.4劫持远程进程实践
第7章分阶段执行载荷
7.1通过注册表分阶段执行shellcode
7.1.1注册表基础知识
7.1.2注册表相关的API函数
7.1.3注册表分阶段执行shellcode的实践
7.2通过Web服务分阶段执行shellcode
7.2.1Web服务基础知识
7.2.2Web服务相关API函数
7.2.3Web服务分阶段执行shellcode的实践
