首页
社区
课程
招聘
[求助]内核驱动写入内存无效
发表于: 2018-4-16 10:40 2772

[求助]内核驱动写入内存无效

2018-4-16 10:40
2772

以下代码运行正常,没有蓝屏也没报错,但就是用X64dbg查看内存地址的值没有任何变化,为什么会这样?

是不是这个是写入到虚拟内存的?而不是物理内存?如何才能写入到目标进程的物理内存?


BOOLEAN SafeCopyMemory(PVOID pDestination, PVOID pSourceAddress, SIZE_T SizeOfCopy)

{

PMDL pMdl = NULL;

PVOID pSafeAddress = NULL;

if (!MmIsAddressValid(pDestination) || !MmIsAddressValid(pSourceAddress))

return FALSE;

pMdl = IoAllocateMdl(pDestination, (ULONG)SizeOfCopy, FALSE, FALSE, NULL);

if (!pMdl)

return FALSE;

__try

{

MmProbeAndLockPages(pMdl, KernelMode, IoReadAccess);

}

__except (EXCEPTION_EXECUTE_HANDLER)

{

IoFreeMdl(pMdl);

return FALSE;

}

pSafeAddress = MmGetSystemAddressForMdlSafe(pMdl, NormalPagePriority);

if (!pSafeAddress)

return FALSE;

__try

{

RtlMoveMemory(pSafeAddress, pSourceAddress, SizeOfCopy);

}

__except (EXCEPTION_EXECUTE_HANDLER)

{

;

}

MmUnlockPages(pMdl);

IoFreeMdl(pMdl);

return TRUE;

}


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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 914
活跃值: (2478)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
2
Mm*****实现VA->PA
Io******把物理内存映射过来就可以食用了
2018-4-16 11:50
0
雪    币: 42
活跃值: (208)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
万剑归宗 Mm*****实现VA->PA Io******把物理内存映射过来就可以食用了
哥们能说详细点吗,你发到被和谐了,全是*号
2018-4-16 12:44
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
回帖12345
2018-4-16 14:06
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
老坛酸菜TM 哥们能说详细点吗,你发到被和谐了,全是*号[em_16]
人家明显是忘了全拼了...
2018-4-16 17:08
0
游客
登录 | 注册 方可回帖
返回
//