原创 Windows內核函數(2) - 內核模式下的文件操作

轉載自;http://mzf2008.blog.163.com/blog/static/35599786201011124648756/ 1.       文件的創建 對文件的創建或者打開都是通過內核函數ZwCreateFile

原创 派遣函數(1) - 初識派遣函數

轉載自;http://mzf2008.blog.163.com/blog/static/3559978620101114103859212/ IRP與派遣函數< xmlnamespace prefix ="o" ns ="urn:

原创 Windows內存管理(1)--分配內核內存 和 使用鏈表

轉載自;http://mzf2008.blog.163.com/blog/static/3559978620101110101314696/ 1.      分配內核內存 Windows驅動程序使用的內存資源非常珍貴,分配內存時要儘量

原创 Windows內存管理(3)--檢查內存可用性,結構化異常處理 和 ASSERT

轉載自:http://mzf2008.blog.163.com/blog/static/355997862010111052745960/ 1.      檢查內存可用性 在驅動程序開發中,對內存的操作要格外小心。如果某段內存是隻讀的,

原创 快速系統調用

轉載自:http://mzf2008.blog.163.com/blog/static/35599786201121011337777/ 用戶層: 首先Windows還是調用R3層的函數NtReadFile(),不過此函數相對以前

原创 線程同步(2) - 內核模式下的線程同步

轉載自:http://mzf2008.blog.163.com/blog/static/355997862010112041821953/ 1.內核模式下的等待 NTSTATUS    KeWaitForSingleObjec

原创 Windows內核函數(3) - 內核模式下的註冊表操作

轉載自:http://mzf2008.blog.163.com/blog/static/355997862010111313716234/ 註冊表裏的幾個概念:     1.       創建關閉註冊表項 NTSTATUS 

原创 Windows內核函數(1) - 字符串處理函數

轉載自:http://mzf2008.blog.163.com/blog/static/3559978620101112115510592/ 1.ASCII字符串和寬字符串 打印一個ASCII字符串: CHAR* string

原创 IRP的同步

轉載自:http://mzf2008.blog.163.com/blog/static/355997862010112412048667/ 同步操作設備 如果需要同步操作設備,那麼在打開設備的時候就要指定以“同步”的方式打開

原创 定時器

轉載自:http://mzf2008.blog.163.com/blog/static/355997862010112622923357/ 1.      I/O定時器 I/O定時器是DDK提供的一種定時器,使用這種定時器時,每間

原创 派遣函數(2) - 設備對象的3種讀寫方式

轉載自:http://write.blog.csdn.net/postedit 讀寫操作 設備對象一共可以有三種讀寫方式,分別是緩衝區方式讀寫,直接方式讀寫,其他方式讀寫。這三種方式的Flags分別對應爲DO_BUFFERED_

原创 派遣函數(3) - IO設備控制操作

轉載自:http://mzf2008.blog.163.com/blog/static/35599786201011162265581/ 1.DeviceIoControl與驅動交互 除了用ReadFile(讀設備)和WriteF

原创 SysEnter Hook

#include <ntddk.h> ULONG g_OldKiFastCallEntry; // Original value of ntoskrnl!KiFastCallEntry VOID OnUnload( IN PDRIVE

原创 線程同步(1) - 用戶模式下的線程同步

轉載自:http://mzf2008.blog.163.com/blog/static/355997862010111731141289/ (1)       用戶模式的等待 DWORD WaitForSingleObject(

原创 WDM式驅動程序的基本結構

轉載自;http://mzf2008.blog.163.com/blog/static/35599786201011973648864/ WDM式驅動程序的基本結構          對於WDM驅動程序來說,一般都是基於分層的。也就是