17_页面异常接管

页面异常捕获过滤:

原理:

在 IDT 表中的e 号 处理 是 页面异常处理; 如果 我们 hook 掉 这个回调函数;那么就能获得全部的页面异常;再通过 cr3 对比 捕获指定的 cr3 (进程)的信息;最后再共享的区域将数据输出;然后测试程序获取该自己的页面异常信息;

实验中 容易出现的错误:

在 c 的时候注意将使用的寄存器(这里是eax)先保存起来;注意 通过栈保存 eax的话注意 相关进入中断后和栈相关的数据,就会和esp 的相对偏移产生变化。

测试程序代码.c:

此程序 主要是 中断进入 内核;然后读取数据;看时候有新的和自己有关的异常页面信息;这样

Hook IDT_E 回调函数 且 通过识别cr3 将相关信息过滤到 共识的共享数据区域 .c :

效果展示:

17_页面异常接管