-
-
[求助][求助]驱动编程 读文件操作成功 显示不出来内容
-
发表于:
2010-2-8 08:53
4315
-
[求助][求助]驱动编程 读文件操作成功 显示不出来内容
#include <ntddk.h>
#define MAG 'kkkk'
VOID DriverUnload(PDRIVER_OBJECT driver)
{
DbgPrint("first:Our driver is unloading...\r\n");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT driver,PUNICODE_STRING reg_path)
{
HANDLE file_handle = NULL;
NTSTATUS status;
PVOID buf;
OBJECT_ATTRIBUTES object_attributes;
UNICODE_STRING ufile_name;
IO_STATUS_BLOCK io_status;
ULONG length;
LARGE_INTEGER offset = {0};
NTSTATUS readfile_status;
buf = ExAllocatePoolWithTag(PagedPool,5,MAG);
length = 5;
RtlInitUnicodeString(&ufile_name,L"\\??\\c:\\a.dat");
InitializeObjectAttributes(
&object_attributes,
&ufile_name,
OBJ_CASE_INSENSITIVE|OBJ_KERNEL_HANDLE,
NULL,
NULL);
status = ZwCreateFile(
&file_handle,
GENERIC_READ|GENERIC_WRITE,
&object_attributes,
&io_status,
NULL,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ,
FILE_OPEN_IF,
FILE_NON_DIRECTORY_FILE|FILE_RANDOM_ACCESS|FILE_SYNCHRONOUS_IO_NONALERT,NULL,0);
readfile_status = ZwReadFile(
file_handle,
NULL,
NULL,
NULL,
&io_status,
buf,
length,
&offset,
NULL
);
if(NT_SUCCESS(readfile_status))
{
DbgPrint("ok\n");
}
else
{
DbgPrint("sorry\n");
}
DbgPrint("111[%ws]\n",buf);
DbgPrint("%d\n",offset);
ZwClose(file_handle);
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}
刚学驱动 这个驱动加载之后 读不出c:/a.dat的内容 由于是刚刚学 可能有些地方疏忽了 但是咋地也找不出原因 希望朋友们帮看看
a.dat的内容是1234567890abcd
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)