首页
社区
课程
招聘
[求助]MDL映射问题
发表于: 2017-10-20 13:11 5771

[求助]MDL映射问题

2017-10-20 13:11
5771
Attach后用MDL修改指定进程内存 修改完后取消映射了 但是进程下次启动的时候他还会有效是怎么回事

PMDL NTAPI IoCreateWriteMdlForAddress2(PVOID InAddress, PVOID *OutAddress, size_t Size)
{
 if ((InAddress == NULL) | (Size == 0))
  return NULL;  PMDL pMdl = IoAllocateMdl(InAddress, Size, FALSE, FALSE, NULL);
 if (pMdl == NULL)
  return NULL;  MmProbeAndLockPages(pMdl, KernelMode, IoReadAccess);  pMdl->MdlFlags |= MDL_MAPPED_TO_SYSTEM_VA;  *OutAddress = MmMapLockedPagesSpecifyCache(pMdl, KernelMode, MmCached,NULL,FALSE, NormalPagePriority);  return pMdl;
}
VOID NTAPI IoFreeMdlForAddress(PVOID OutAddress, PMDL pMdl)
{
 MmUnmapLockedPages(OutAddress, pMdl);
 //MmUnlockPages(pMdl);
 IoFreeMdl(pMdl);
}



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 81
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
要用ZwWriteVirtualMemory来修改,MDL会绕过Copy-On-Write,
2017-10-20 13:21
0
雪    币: 12
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
COW失效了....如楼上所说

只读的话 官方方法是 ZwProtectVirtualMemory,
需要自己从SSDT找地址
2017-10-24 14:15
0
雪    币: 52
活跃值: (257)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
MaMy COW失效了....如楼上所说只读的话 官方方法是 ZwProtectVirtualMemory,需要自己从SSDT找地址
拿不到句柄哇~~~  所以我才想用Attach
2017-10-26 00:46
0
雪    币: 208
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
都获取到EPROCESS还获取不到句柄么........
2017-10-26 01:25
0
雪    币: 81
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
6
ObOpenObjectByPointer:EPROCESS->Handle
2017-10-26 08:50
0
雪    币: 307
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
问一下,在内核中这么打印缓冲区中的数据啊?
2017-10-30 17:20
0
雪    币: 5039
活跃值: (2621)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
8
一楼正解!  LZ要弄清这些API的原理啊
2017-10-30 17:59
0
游客
登录 | 注册 方可回帖
返回
//