资源简介
Windows内核安全编程从入门到实践 此书的代码部分
代码片段和文件信息
#include “stdafx.h“
void GetOpenBlockUnload(IN PDRIVER_object Driverobject);
NTSTATUS GetOpenBlockCreateClose(IN PDEVICE_object Deviceobject IN PIRP Irp);
NTSTATUS GetOpenBlockDefaultHandler(IN PDEVICE_object Deviceobject IN PIRP Irp);
NTSTATUS DriverEntry(IN PDRIVER_object Driverobject IN PUNICODE_STRING RegistryPath)
{
UNICODE_STRING DeviceNameWin32Device;
PDEVICE_object Deviceobject = NULL;
NTSTATUS status;
unsigned i;
RtlInitUnicodeString(&DeviceNameL“\\Device\\GetOpenBlock0“);
RtlInitUnicodeString(&Win32DeviceL“\\DosDevices\\GetOpenBlock0“);
for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
Driverobject->MajorFunction[i] = GetOpenBlockDefaultHandler;
Driverobject->MajorFunction[IRP_MJ_CREATE] = GetOpenBlockCreateClose;
Driverobject->MajorFunction[IRP_MJ_CLOSE] = GetOpenBlockCreateClose;
Driverobject->DriverUnload = GetOpenBlockUnload;
status = IoCreateDevice(Driverobject
0
&DeviceName
FILE_DEVICE_UNKNOWN
0
FALSE
&Deviceobject);
if (!NT_SUCCESS(status))
return status;
if (!Deviceobject)
return STATUS_UNEXPECTED_IO_ERROR;
Deviceobject->Flags |= DO_DIRECT_IO;
Deviceobject->AlignmentRequirement = FILE_WORD_ALIGNMENT;
status = IoCreateSymboliclink(&Win32Device &DeviceName);
Deviceobject->Flags &= ~DO_DEVICE_INITIALIZING;
ShowOpenBlock(Driverobject);
return STATUS_SUCCESS;
}
void GetOpenBlockUnload(IN PDRIVER_object Driverobject)
{
UNICODE_STRING Win32Device;
RtlInitUnicodeString(&Win32DeviceL“\\DosDevices\\GetOpenBlock0“);
IoDeleteSymboliclink(&Win32Device);
IoDeleteDevice(Driverobject->Deviceobject);
}
NTSTATUS GetOpenBlockCreateClose(IN PDEVICE_object Deviceobject IN PIRP Irp)
{
Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = 0;
IoCompleteRequest(Irp IO_NO_INCREMENT);
return STATUS_SUCCESS;
}
NTSTATUS GetOpenBlockDefaultHandler(IN PDEVICE_object Deviceobject IN PIRP Irp)
{
Irp->IoStatus.Status = STATUS_NOT_SUPPORTED;
Irp->IoStatus.Information = 0;
IoCompleteRequest(Irp IO_NO_INCREMENT);
return Irp->IoStatus.Status;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2150 2010-07-30 18:45 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\GetOpenBlock.cpp
文件 1242 2010-07-30 15:02 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\GetOpenBlock.sln
..A..H. 23148 2010-07-31 15:16 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\GetOpenBlock.suo
文件 9887 2010-07-30 22:52 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\GetOpenBlock.vcproj
文件 2615 2010-07-31 15:16 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\GetOpenBlock.vcproj.L01-PC.L01.user
文件 408 2010-07-30 15:02 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\GetOpenBlock.Win32.vddklaunch
文件 408 2010-07-30 15:02 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\GetOpenBlock.x64.vddklaunch
文件 7143 2010-07-31 14:59 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\OpenBlock.cpp
文件 2185 2010-07-31 14:57 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\OpenBlock.h
文件 70 2010-07-30 15:02 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\stdafx.cpp
文件 542 2010-07-30 22:31 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\stdafx.h
文件 1055 2010-07-30 15:02 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlock\GetOpenBlock\VisualDDKHelpers.h
文件 2332 2010-07-31 15:21 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 1271 2011-01-20 19:43 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
..A..H. 24576 2011-02-17 20:30 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 10018 2011-01-20 19:43 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 1409 2011-02-17 20:30 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 450 2010-07-31 15:20 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 450 2010-07-31 15:20 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 11373 2011-02-17 14:51 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 4533 2010-08-01 19:44 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 70 2010-07-31 15:20 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 518 2010-07-31 21:21 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 1786 2011-01-20 19:43 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 1055 2010-07-31 15:20 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 3348 2011-01-20 19:43 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 12505 2008-01-11 01:25 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 69 2011-01-20 19:43 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 71 2011-01-20 19:43 Projects\chapter 10 网络\GetNDISOpenBlock\GetOpenBlockByDriverob
文件 1082 2010-07-31 23:17 Projects\chapter 10 网络\GetNDISOpenBlock\Readme.txt
............此处省略260个文件信息
- 上一篇:数据集市总体规划方案某银行方案
- 下一篇:软件设计师考试试题分类详解2018版
相关资源
- xcap_1_2_1
- Poison ivy 2.3.2 for windows 7
- LabWindows CVI Word Excel 报表处理
- 编程之法:面试和算法心得 清晰完整
- ImageMagick-6.3.6-6-Q16-windows-dll.exe
- ettercap windows版
- USB-PPI编程电缆驱动
- opencv计算机视觉编程攻略图片集
- Windows环境下32位汇编语言程序设计完
- 西门子step7 编程手册SCL
-
syba
se odbc driver for win64 - BCM 56XX SDK 编程手册
- cced2000破解版
- windows xp ie8卸载工具.rar
- 100个LabView编程
- Intel Threading Building Blocks编程指南
- 编译Adb源码VS2012)
- Windows网络编程第二版源码(补充材料
- Windows xp sp3 repair文件夹
- .net连接DB2数据库编程简介
- 用于DSP28335的编程例程 主要是用于有
- rtthread手册
- Fping4.2_Windows.zip
- ArcGIS二次开发编程
- Microsoft.Exchange.Server.2013.PowerShell.Cook
- 《医学图像编程技术》源码
- Linux C编程从初学到精通》源码
- SCPI命令集与可编程仪器控制规范和关
- windows平台下的HDFS文件浏览器
- Fortran77和90 95编程入门(丁泽军)
评论
共有 条评论