为你推荐
推荐序1
推荐序2
序言
前言
第1章 搭建开发和调试环境
1.1 编译环境
1.2 使用Bochs运行ntos.img
1.3 使用VMware运行ntos.vmdk
1.4 模拟调试运行
1.5 编程思想(等差数列求和)
1.6 函数调用约定
1.7 模块扩展约定
1.8 本章总结
第2章 Windows内核加载器(SU)
2.1 主引导记录(MBR)
2.2 系统分区(Partition1)
2.3 SU模块(startup.com)
2.4 检测物理内存
2.5 开启A20地址线
2.6 重新定位GDT和IDT
2.7 保护模式
2.8 加载Loader模块
2.9 转移控制权
2.10 导出函数
2.11 本章总结
第3章 Windows内核调试设计
3.1 初始化调试系统
3.2 初始化模拟调试
3.3 初始化内核调试
3.4 分发异常
3.5 内核调试分发
3.6 内核调试引擎核心
3.7 调试通信协议
3.8 本章总结
第4章 Windows内核加载器(Loader)
4.1 NtProcessStartup
4.2 PcMachInit
4.3 初始化内存管理器
4.4 分页机制
4.5 Loader读/写支持
4.6 加载器参数块
4.7 加载和启动内核
4.8 本章总结
第5章 结构化异常处理
5.1 异常触发
5.2 分发异常(RtlDispatchException)
5.3 异常处理(_except_handler3)
5.4 全局展开(__global_unwind2)
5.5 局部展开(__local_unwind2)
5.6 冒泡排序(BubbleSort)
5.7 本章总结
第6章 内存管理
6.1 物理内存管理概述
6.2 虚拟地址空间布局
6.3 初始化内存系统(MmArmInitSystem)
6.4 初始化机器相关(MiInitMachineDependent)
6.5 初始化非分页池(MiInitializeNonPagedPool)
6.6 初始化系统PTE(MiInitializeSystemPtes)
6.7 映射页帧数据库(MiMapPfnDatabase)
6.8 初始化颜色表(MiInitializeColorTables)
6.9 初始化页帧号数据库(MiInitializePfnDatabase)
6.10 初始化池(InitializePool)
6.11 分配池页面(MiAllocatePoolPages)
6.12 释放池页(MiFreePoolPages)
6.13 建立分页池(MiBuildPagedPool)
6.14 分配池内存(ExAllocatePoolWithTag)
6.15 释放池内存(ExFreePoolWithTag)
6.16 初始化系统空间映射(MiInitializeSystemSpaceMap)
6.17 本章总结
第7章 对象管理
7.1 对象概述
7.1.2 对象头(object header)
7.1.4 对象类型例程模板(object type procedure template)
7.2 分配对象内存空间(ObpAllocateObject)
7.3 释放对象内存空间(ObpDeallocateObject)
7.4 初始化对象系统(ObInitSystem)
7.5 创建句柄表(ExCreateHandleTable)
7.6 创建对象类型(ObCreateObjectType)
7.7 创建目录对象(NtCreateDirectoryObject)
7.8 创建对象(ObCreateObject)
7.9 插入对象(ObInsertObject)
7.10 查找对象名(ObpLookupObjectName)
7.11 查找目录项(ObpLookupEntryDirectory)
7.12 创建无名句柄(ObpCreateUnnamedHandle)
7.13 分配句柄表项(ExpAllocateHandleTableEntry)
7.14 解析符号链接(ObpParseSymbolicLink)
7.15 Section和Segment
7.16 本章总结
第8章 I/O系统
8.1 初始化I/O系统(IoInitSystem)
8.2 创建驱动对象(IopCreateDriver)
8.3 创建设备对象(IoCreateDevice)
8.4 分配I/O请求包(IoAllocateIrp)
8.5 传递I/O请求包(IoCallDriver)
8.6 释放I/O请求包(IoFreeIrp)
8.7 解析设备(IopParseDevice)
8.8 磁盘读/写支持
8.9 本章总结
第9章 文件系统设计
9.1 文件系统初始化(DriverEntry)
9.2 挂载卷(NtfsMountVolume)
9.3 打开文件(NtfsOpenFile)
9.4 读文件(NtfsReadFile)
9.5 关闭文件(NtfsCloseFile)
9.6 发起卷挂载请求
9.7 加载NTDLL
9.8 本章总结
第10章 进程和线程
10.1 进程和线程初始化
10.2 线程优先级(priority)
10.3 线程状态(thread state)
10.4 线程调度(thread dispatch)
10.5 分配进程虚拟内存(NtAllocateVirtualMemory)
10.6 创建用户进程(smss.exe)
10.7 本章总结
附录A PE格式
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜