首页
社区
课程
招聘
未解决 [求助]驱动写内存蓝屏
发表于: 2020-1-31 11:35 5644

未解决 [求助]驱动写内存蓝屏

2020-1-31 11:35
5644
代码:
//写内存
NTSTATUS KeWriteProcessMemory(PEPROCESS Process, PVOID SourceAddress, PVOID TargetAddress, SIZE_T Size)
{       // This write func is just like the read func, except vice versa.

// Since the process writing from is our module
// change the source process variable for that.
PEPROCESS SourceProcess = PsGetCurrentProcess();
// Since the process we write to is the input process
// we set the target process as the argument
PEPROCESS TargetProcess = Process;
SIZE_T Result;

if (NT_SUCCESS(MmCopyVirtualMemory(SourceProcess, SourceAddress, TargetProcess, TargetAddress, Size, KernelMode, &Result)))
return STATUS_SUCCESS; // operation was successful
else
return STATUS_ACCESS_DENIED;

}

通讯:
case IOCTL_IO_WRITE:
{
pWriteStruct wt = pIoBuffer;
KeWriteProcessMemory(proc, wt->WriteBuffer, wt->TargetAddress, wt->WriteSize);
}
调用:
typedef struct writeStruct
{
PVOID WriteBuffer;
ULONGLONG WriteSize;
PVOID TargetAddress;

} WriteStruct, * pWriteStruct;
bool WriteMemory(PVOID pAddress, int Size, PVOID lpBuffer)
{
WriteStruct wt = { NULL };
wt.WriteBuffer = lpBuffer;
wt.TargetAddress = pAddress;
wt.WriteSize = Size;
BOOL bRet = DeviceIoControl(hDevice, IOCTL_IO_WRITE, &wt, sizeof(wt), 0, 0, 0, 0);
return bRet;
}

求大神解决

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
我猜你结构体没有按8字节对齐,导致用户模式32位环境下 R3 和 R0 的对齐粒度不一样
2020-1-31 14:56
0
雪    币: 181
活跃值: (636)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
typedef struct writeStruct
{
PVOID WriteBuffer;
ULONGLONG WriteSize;
PVOID TargetAddress;

} WriteStruct, * pWriteStruct;


你读写的是32位程序吗
2020-1-31 15:18
0
雪    币: 198
活跃值: (81)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
小艾 我猜你结构体没有按8字节对齐,导致用户模式32位环境下 R3 和 R0 的对齐粒度不一样[em_13]。
听不明白,求大佬给出代码!!
2020-1-31 15:30
0
雪    币: 198
活跃值: (81)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
柒雪天尚 typedef struct writeStruct { PVOID WriteBuffer; ULONGLONG WriteSize; PVOID TargetAddress; } W ...
是的
2020-1-31 15:30
0
雪    币: 181
活跃值: (636)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
黑白条纹 是的
楼上飞总已经说的很明白了,而且结构体也给你标出来了
2020-1-31 15:38
0
雪    币: 198
活跃值: (81)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
大佬们问题已经解决了,是设备名的问题
2020-1-31 16:56
0
雪    币: 1657
活跃值: (4753)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
r3不传目标进程pid或者句柄什么的吗
2023-3-29 19:06
0
游客
登录 | 注册 方可回帖
返回
//