首页
社区
课程
招聘
[求助][求助]驱动编程 读文件操作成功 显示不出来内容
发表于: 2010-2-8 08:53 4316

[求助][求助]驱动编程 读文件操作成功 显示不出来内容

2010-2-8 08:53
4316
#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期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
%ws 是UNICODE
2010-2-8 10:04
0
雪    币: 338
活跃值: (103)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
我换成%s也是一样 我试过 还是打印不出来
2010-2-8 10:27
0
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
你分配的空间太小了
基础问题.
2010-2-8 10:30
0
游客
登录 | 注册 方可回帖
返回
//