首页
社区
课程
招聘
[求助]我想读取一段指定内核内存的数据 然后写到指定文件
发表于: 2018-3-27 00:06 2909

[求助]我想读取一段指定内核内存的数据 然后写到指定文件

2018-3-27 00:06
2909
VOID MyWriteFile() 
{

OBJECT_ATTRIBUTES objectAttributes;
IO_STATUS_BLOCK iostatus;
HANDLE hfile;
UNICODE_STRING SymbolFileName;

//初始化UNICODE_STRING字符串
RtlInitUnicodeString( &SymbolFileName, L"\\Device\\HarddiskVolume1\\1.txt");

//初始化objectAttributes
InitializeObjectAttributes(&objectAttributes,
&SymbolFileName,
OBJ_CASE_INSENSITIVE,//对大小写敏感 
NULL, 
NULL );

//创建文件
NTSTATUS ntStatus = ZwCreateFile( &hfile, 
GENERIC_WRITE,
&objectAttributes, 
&iostatus, 
NULL,
FILE_ATTRIBUTE_NORMAL, 
FILE_SHARE_WRITE,
FILE_OPEN_IF,//即使存在该文件,也创建 
FILE_SYNCHRONOUS_IO_NONALERT, 
NULL, 
0 );
  
    BYTE  * pBuffer =(BYTE *)ExAllocatePool(PagedPool,100);
    

ULONG addr=0x805c2428; //这是NtOpenProcess地址
BYTE ReadData=0;
       ClosePageProtect();
       for (ULONG i=0;i<50;i++)
{
_asm
{   
mov eax,i
add eax,addr

mov eax,[eax]
mov ReadData,al// al为32位寄存器的低8位
}
 pBuffer[i]=ReadData;   我想把读出来的一字节保存到数组中   调试输出 是正确的 但是写到文件中没有内容 应该是下面这一句的问题
        }

ZwWriteFile(hfile,NULL,NULL,NULL,&iostatus,ReadData,sizeof(pBuffer),NULL,NULL);

ExFreePool(pBuffer);
ZwClose(hfile);
}


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 12
活跃值: (423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
。。。。自己调啊,看看ZwWriteFile  status是多少
2018-3-27 10:55
0
雪    币: 81
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
3
函数都不判返回值,蓝的飞起.
2018-3-27 10:59
0
雪    币: 405
活跃值: (2285)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
sizeof(pBuffer),自己切到汇编看代码。基本功啊。。。。。。
2018-3-27 11:16
0
雪    币: 15
活跃值: (3581)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
wowocock sizeof(pBuffer),自己切到汇编看代码。基本功啊。。。。。。
我想读取一段机器码  保存到内存中  应该怎么做  我想到的事保存到一个数组中  然后写到文件    新手  不太会做
2018-3-27 20:54
0
雪    币: 15
活跃值: (3581)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
XiaoyDelog 函数都不判返回值,蓝的飞起.
习惯不太好吧    新手 
2018-3-27 20:55
0
雪    币: 15
活跃值: (3581)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
麻木的时间 习惯不太好吧 新手
先把功能实现再说,功能都实现不了  没意义啊。
2018-3-27 20:59
0
游客
登录 | 注册 方可回帖
返回
//