Windows驱动编程
Sime507
这个作者很懒,什么都没留下…
展开
-
最简单的Windows驱动程序
最简单的Windows驱动程序只需要三个基本文件。MAKEFILE,所有Windows驱动都有,且完全一样,在DDK例子里找一个就可以用了。sources:TARGETNAME=SyDrvTARGETTYPE=DRIVERSOURCES=SyDrv.cSyDrv.c:#include VOID DriverUnload( PDRIVER_OBJECT driver ){DbgPrint( "First: unlonding.../r/n" );}NTSTATUS DriverEntry( PDRIVER_O原创 2010-12-26 23:04:00 · 855 阅读 · 0 评论 -
用windbg和VMware虚拟机调试驱动程序环境配置
配置调试版的WinXP:/debug /debugport=com1 /baudrate=115200配置调试版的Win7:虚拟机串口的配置://./pipe/com_1This end is the server.The other end is an applicate.原创 2010-12-26 22:50:00 · 926 阅读 · 0 评论 -
IRQL 中断请求级别
什么是IRQL?IRQL是Interrupt ReQuest Level,中断请求级别。处理器在一个IRQL上执行线程代码。IRQL是帮助决定线程如何被中断的。在同一处理器上,线程只能被更高级别IRQL的线程能中断。每个处理器都有自己的中断IRQL。我们经常遇见的有四种IRQL级别。“Passive”, “APC”, “Dispatch” and “DIRQL”. “DriverEntry”将会在PASSIVE_LEVEL被调用。#define PASSIVE_LEVEL转载 2011-01-08 16:15:00 · 804 阅读 · 0 评论 -
一些使用过的宏和内核函数
#pragma warning(disable:XXXX)禁止某个警告NT_ASSERT( pData );指针是否合法KdPrint(())调试输出#define PAGEDCODE code_seg("PAGE")分页代码#define LOCKEDCODE code_seg()非分页代码#define INITCODE code_seg("INIT")初始化代码#define PAGEDDATA data_seg("PAGEDATA")分页数据#define LOCKEDDATA data_seg()原创 2011-01-08 16:51:00 · 652 阅读 · 0 评论 -
最简单的Windows驱动程序编译、安装、运行、卸载
1、编译:用DDK的Launch Windows XP x86 Checked Build Environment快捷键启动一个控制台,切换到BaseDrv代码所在目录,输入命令Build即可。2、安装使用OSRLoader.exe安装驱动。点Browse按钮,选择BaseDrv.sys文件,点Register Services按钮,即可。在注册表编辑器里可以看到,新建了一个注册表分支:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/BaseDrv。原创 2011-01-09 22:27:00 · 1851 阅读 · 0 评论 -
快速上手的几个WinDbg命令
<br />1 :使用!sym noisy 命令以获得关于WinDbg尝试获取symbols的更多信息。<br /> !sym noisy<br /> <br />2 :!lmi 查看WinDbg知道多少关于ntoskrnl的信息。<br /> !lmi kernel32<br /> <br />3 :.srcpath e:/Win2003SP1<br />它的意思是:想要source文件,请查看e:/Win2003SP1目录。<br /><br />4 :下断点:bu sio转载 2011-02-11 22:20:00 · 946 阅读 · 0 评论 -
驱动中读写文件
<br />// 打开指定文件HANDLE CKOpenFile( PUNICODE_STRING punFileName ){ HANDLE file_handle = NULL; NTSTATUS status; OBJECT_ATTRIBUTES object_attributes; IO_STATUS_BLOCK io_status = { 0 }; InitializeObjectAttributes( &object_attributes, punFileNam原创 2011-02-11 22:31:00 · 1872 阅读 · 2 评论