首页
社区
课程
招聘
Windows内核-内存(八)
发表于: 2022-8-21 16:49 7530

Windows内核-内存(八)

2022-8-21 16:49
7530

1.vaddemo.cpp

2.在虚拟机里面运行

3.查看Vad_Root

4.查看申请的内存D0位置

vad描述的是申请时的内存属性

ce查看,视图-->内存区域

Mapped:映射内存

Private:私有内存

Mapped Exe:pe文件的映射

start:是按页为单位的

5.查看vad结构

Private内存用MMVAD_SHORT查看

_MMVAD_FLAGS

_MMVAD_FLAGS3

1.查看Mapped属性的vad

2._MSUBSECTION

3.锁页,把下面两个位都改为1,可以锁页

NoChange:改为1

SecNoChange:改为1

1._MMPFN

2._MMPFN的u3

3.MmPageLocationList

MmZeroedPageListHead:零化页表,剩余的物理地址 都挂在这个链表上,并且这个物理地址里面的内容都是0

MmFreePageListHead :  释放链表

MmStandbyPageListHead:备用链表:已经被移出内存工作集的物理地址,内存内容没有被修改,可以转移到磁盘上,被其他映射使用,要使用之前,先得把数据交换到磁盘上,当 然也可以重新召唤到原工作集 继续使用

MmModifiedPageListHead: 修改链表:跟备用链表一样,只是内容是被修改的,无论你是否召回到原工作集 他都要交换磁盘上

MmModifiedNoWritePageListHead:修改不写出链表:跟备用链表一样,只是内容是被修改的,无论你是否召回到原工作集他都不会交换到磁盘上

MmBadPageListHead:损坏链表

1.附加到进程

2.查看pte和MMPFNDATABASE

pte的523DF867除掉后三位,523DF是页帧的索引

3.查看+0x010 OriginalPte位置

kd> dt _MMPFN 85400000+523DF*1C -r2

4.修改

c0:可读可写可执行

80:可读可写

0:No Access ,改成0 就变成无访问权限,可以避免注入后被检测到


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

收藏
免费 5
支持
分享
最新回复 (2)
雪    币: 229
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
mark
2022-8-22 09:33
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2022-8-22 09:45
0
游客
登录 | 注册 方可回帖
返回