自己写了个驱动,没什么功能,就一空架子。DriverEntry里用IoCreateDevice创建了设备对象,也写了DriverUnload。net start没什么问题。net stop时总是提示驱动不支持停止或者暂停命令。请大家帮忙支招。送大家一个美女,不成敬意。

2010-07-06 09:25 来自版块 - ABC初学者

主要是开发了一个进程创建的拦截功能,希望有某个证书签名的exe就允许执行,否则拒绝执行。但是驱动似乎没有校验签名的API啊……大家有什么好的建议?

2010-07-01 14:37 来自版块 - 内核编程

水平有限,欢迎大家多批评。有什么意见请跟贴,我尽量回复,谢谢大家。Diskperf代码分析/*++Copyright (C) Microsoft Corporation, 1991 - 1999Module Name: diskperf.cAbstract: This... 全文

2010-01-13 20:46 来自版块 - ABC初学者

弄了好几天了,每次异常的地方都不一样。最近一次的分析如下,大家指点下:kd> !analyze -v******************************************************************************** ... 全文

2010-01-07 14:39 来自版块 - 软件调试

一个HelloWorld的驱动,用net start 服务名启动时提示:发生系统错误 1058。无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。百思不得其解。从DbgView可以看出,DriverEntry确实执行了。注册表信息如下:[HKEY_LOCAL_MACHI... 全文

2009-07-31 18:47 来自版块 - ABC初学者

挂钩注册表替换系统服务表中的入口点,替换成自定义的入口点。当然,要保存原始的入口点。VOID HookRegistry(void){ 挂钩所有的内容 RealRegOpenKey = SYSCALL(ZwOpenKey); 这句没什么好说的,无非是把原始ZwOp... 全文

2007-06-10 19:46 来自版块 - ABC初学者

RegmonOldestStore函数遍历链接表缓冲区,并返回最早的记录PSTORE_BUF RegmonOldestStore(void){ PSTORE_BUF ptr = Store, prev = NULL; while(ptr->Next) { ... 全文

2007-05-29 06:55 来自版块 - 内核编程

case IRP_MJ_SHUTDOWN: 导出所有累计的缓冲区。由于我们在系统进程中,所以不需要为用户线程排队 while(old = RegmonOldestStore()) { RegmonWriteBootLog(old); ... 全文

2007-05-21 23:48 来自版块 - ABC初学者

if(NT_SUCCESS(ntStatus)){ 创建符号连接,以便GUI能够指名,访问这个驱动/设备 创建每个需要处理的方法的分发点 DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = DriverOb... 全文

2007-05-18 05:46 来自版块 - ABC初学者

// 设置Start的类型,这样可以决定启动方式,于是只有当本驱动启动的时候才能记录启动时的日志// InitializeObjectAttributes用来为结构OBJECT_ATTRIBUTES设置一些参数,以便以后的// ExCreateCallBack或者ZwCreate... 全文

2007-05-17 05:38 来自版块 - ABC初学者

先从DriverEntry开始NTSTATUS ntStatus;状态WCHAR deviceNameBuffer[] = L"\\Device\\Regmon";设备名称缓冲区UNICO... 全文

2007-04-26 23:10 来自版块 - ABC初学者

DriverEntry的第2个参数为:RegisterPath。虽然很常见,但多数人不知道它的确切含义。实际上它代表了驱动相关的服务注册表项。以Windows XP SP2为例:比如开发了个驱动FileFilter。那么这个RegisterPath的值将是:HKEY_LOCA... 全文

2007-04-17 23:26 来自版块 - ABC初学者


返回顶部