技术栈
windows内核研究
qwertyuiop_i
2 天前
内存管理
·
windows内核研究
·
线性地址的管理
windows内核研究(内存管理-线性地址的管理)
进程空间的地址划分线性地址有4GB,但是并不是所有的地方都能访问(这里的不能访问只是默认情况下,一但给这些区域挂上物理页还是可以访问的),所以需要记录哪些地方分配了
qwertyuiop_i
3 天前
软件调试
·
windows内核研究
·
内存断点
windows内核研究(软件调试-内存断点)
无论是软件断点,内存断点,还是硬件断点,其本质就是让指定位置发生异常在x64dbg中可以选择一块内存对当前的内存的访问、读取、写入、执行操作下不同的断点
qwertyuiop_i
5 天前
软件调试
·
windows内核研究
·
软件断点
windows内核研究(软件调试-软件断点)
调试的本质是什么?就是在被调试程序中触发异常,然后被调试程序就会向_DEBUG_OBJECT结构体添加调试事件,这里我们调试器就接管这个异常了(调试的过程就是异常处理的过程)
qwertyuiop_i
8 天前
软件调试
·
windows内核研究
·
调试事件的处理
windows内核研究(软件调试-调试事件的处理)
调试器如何对调试事件进行处理?代码测试:可以看到已经为我们捕获到了调试事件通过上面的打印信息可以发现,进程在一创建时,就会把创建进程的事件添加到事件链表中,紧接着就是一堆DLL的加载事件,然后又创建了几个线程,最后发现还捕获到了一个异常事件,这个异常事件是谁触发的呢?
qwertyuiop_i
18 天前
驱动开发
·
内核开发
·
windows内核研究
windows内核研究(驱动开发之内核编程)
windows内核驱动WDK在线文档在我们之前写3环应用程序时,可以使用windows为我们提供的各种API函数,只要导入头文件<windows.h>就可以了,但是在内核编程的时候,我们需要使用微软为内核程序提供的专用的API,如ntddk.h(前提是你有安装好对应版本的WDK)
qwertyuiop_i
21 天前
驱动开发
·
windows内核研究
·
3环程序与0环驱动通信
windows内核研究(驱动开发-0环与3环的通信)
设备对象在之前开发窗口程序时,消息都是被封装成一个结构体(MSG),在内核开发时,消息被封装成另外一个结构体:IRP(I/O Request Package)