摘要: 中断门#include #include ​// 在学习保护模式的时候,务必使用单核单线程的虚拟机,因为// 保护模式中接触到的 GDT IDT 等是以核心位单位的。​// 我们可以使用一个 6 字节的缓冲区保存 GDT 的内容 unsigned char gdt[6] = { 0 };​// 这是一个需要 R0 权限才能正确执行的代码_declspec(naked) void r0(){ ... 阅读全文
posted @ 2019-08-28 20:43 ltyandy 阅读(594) 评论(0) 推荐(0)
摘要: 05内核编程用户层和内核层通讯内核通讯概述内核层有着非常高的权限, 可以得到很多信息, 也可以修改很多信息. 但是在内核层中无法创建界面, 无法便捷地输出信息. 因此, 这就需要携手用户层的程序来功能完成信息的获取与修改, 信息的展示. 内核层驱动主要负责在内核中获取信息, 而用户层程序负责发出指令, 让内核层获取/修改特定数据, 并将内核层驱动程序执行结果显示到界面.但是用户层程序是不能直接调用... 阅读全文
posted @ 2019-08-28 18:37 ltyandy 阅读(993) 评论(0) 推荐(1)
摘要: 驱动对象驱动程序:就是一个.sys模块, 驱动对象:则是.sys被加载到内核中的实例化出来的对象, 用于表示这个驱动模块.Windows内核使用DRIVER_OBJECT结构体来描述一个驱动对象.虽然Windows内核源码使用C语言编写, 但也使用了面向对象的思想. 在面向对象思想中, 有父类, 抽象类,纯虚函数的概念, 纯虚函数就是一个类中无须定义的虚函数. 拥有这个函数的类被称为抽象类, 继承... 阅读全文
posted @ 2019-08-28 18:21 ltyandy 阅读(425) 评论(0) 推荐(0)