nt4源码剖析之MemoryManage篇目录:
第一章 内存初始化与关闭....................................................................4
一 初始化................................................................................. 4
二 关闭............................................................................... 15
第二章 虚拟地址映射物理地址...................................................... 16
一 映射............................................................................... 16
二 访问错误............................................................................... 17
三 写时复制............................................................................... 28
四 检查PTE............................................................................ 29
第三章 物理内存管理............................................................................ 30
一 PFN数据库............................................................................... 30
二 物理页面............................................................................... 31
1 页面链表............................................................................... 31
2 页面............................................................................... 35
三 已修改页面写入器.................................................................. 39
四 已映射页面写入器.............................................................................. 43
五 进程/栈交换器............................................................................... 45
六 零页面线程............................................................................... 47
七 检查PFN............................................................................ 48
第四章 系统内存管理............................................................................. 49
一 系统内存............................................................................... 49
1 初始化..........................................................................................49
2 申请内存....................................................................... 51
3 释放内存.............................................................................. 53
二 执行体内存分配器............................................................................. 55
1 申请内存.............................................................................. 55
2 释放内存................................................................. 59
三 系统PTE............................................................................ 61
1 初始化系统PTE.......................................................... 61
2 分配系统PTE.......................................................................... 62
3 释放系统PTE............................................................................ 64
第五章 虚拟内存管理............................................................................... 65
一 进程地址空间.............................................................................. 65
1 初始化............................................................................... 65
2 创建............................................................................... 66
3 删除............................................................................ 67
二 VAD树................................................................. 69
1 Node............................................................................................. 69
2 VAD树............................................................................... 73
三 虚拟内存............................................................................ 75
1 申请............................................................................... 75
2 释放............................................................................... 79
3 加锁、解锁............................................................................... 85
4 读写............................................................................... 88
5 保护............................................................................... 91
6 查询....................................................................... 97
7 刷新............................................................................. 101
第六章 工作集...................................................................... 105
一 工作集项........................................................................... 105
1 插入............................................................................. 105
2 移除............................................................................. 106
3 查找.............................................................................. 108
4 修改......................................................................... 110
二 工作集............................................................................. 111
1 初始化工作集列表........................................................................ 111
2 置空.......................................................................... 112
3 整理............................................................................. 113
4 调整工作集....................................................................... 115
三 工作集管理器.................................................................. 118
1 工作集管理器................................................................ 118
2 调整参数............................................................................ 121
3 置空扩展列表......................................................................... 122
4 释放页面............................................................................ 123
四 平衡集管理器....................................................................... 124
第七章 内存区对象................................................................................. 125
一 内存区对象............................................................................ 125
1 初始化......................................................................... 125
2 创建...................................................................................126
3 关闭............................................................................. 138
4 查询............................................................................. 143
5 刷新............................................................................ 145
6 扩展......................................................................... 148
7 其他............................................................................. 151
二 废弃段线程....................................................................... 155
三 超级内存区对象............................................................................. 156
第八章 分页文件............................................................................ 157
一 分页文件.......................................................................... 157
1 创建............................................................................. 157
2 扩展............................................................................. 160
3 缩小............................................................................ 162
4 获取分页文件信息............................................................................ 164
5 其他........................................................................... 165
第九章 映射............................................................................. 167
一 视图映射............................................................................ 167
1 映射............................................................................. 167
2 解除映射........................................................................... 175
二 系统空间映射......................................................................... 178
三 IO映射...........................................................................................182
四 缓存映射............................................................................. 183
第十章 支持其他模块........................................................................ 184
一 I/O系统......................................................................................184
二 进程................................................................................185
三 POSIX............................................................................190
四 加载镜像.............................................................................191
五 刷BUFFER.............................................................................192
注:部分功能是提供给其他模块(IO、进程、缓存等)使用,故未作剖析,等剖析相应模块时再剖析。
参考资料:
1、《Windows内核原理与实现》 潘爱民
2、《深入解析Windows操作系统》第4版 潘爱民
[课程]Android-CTF解题方法汇总!