Windows内核驱动
文章平均质量分 76
dller
我希望早上叫我起床的不是闹钟,而是梦想!
展开
-
【驱动开发】001 Hello world
note:看了一下《Windows内核安全与驱动开发》自己做一下简单笔记。代码基本都是来自这本书。 开发环境: vs2012+wdk8.0 运行环境:win7 32 驱动 helloWord // 引用驱动头文件 #include // 提供一个unload函数只是为了让这个程序能够动态的卸载 VOID DriverUnload(PDRIVER_OBJECT driver) {原创 2016-11-07 13:41:24 · 378 阅读 · 0 评论 -
【驱动开发】002 内核编程环境及其特殊性
note:正在看《Windows内核安全与驱动开发》这本书, 自己做一点笔记。以下内容部分来自这本书。 一、 内核模式与 用户模式 内核模式(Kernel Module)简称 内核态 , R0 层 。 用户模式(User Module)j简称用户态, R3层。 一般一个EXE被双击后,系统为其创建一个Process进程,运行在R3层,拥有自原创 2016-11-07 14:25:23 · 301 阅读 · 0 评论 -
【驱动开发】003 内存、链表、锁
一、内存申请、释放 在C开发R3层应用程序中,我们经常要用malloc申请内存,free释放内存;到了内核也有对应的函数申请内存和释放内存。 内核中微软比较推荐使用的是ExAllocatePoolWithTag和ExFreePoolWithTag,当然还有其他的函数。这对函数比较特殊的一点是有个Tag标签。这个标签的作用就是用来检测内存泄露的。系统根据这个Tag可以大概知道原创 2016-11-07 22:08:56 · 438 阅读 · 0 评论 -
【驱动开发】004 文件操作
note:本文代码参考了《Windows内核安全与驱动开发》这本书 一、OBJECT_ATTRIBUTES 对象属性结构。在ntdef.h文件中有该结构的定义: typedef struct _OBJECT_ATTRIBUTES { ULONG Length; HANDLE RootDirectory; PUNICODE_STRING ObjectN原创 2016-11-08 13:20:28 · 774 阅读 · 2 评论