首页
社区
课程
招聘
[转帖]WIN7 X64系统下任何写入别的进程内存操作都进PF?
发表于: 2017-8-7 00:43 3520

[转帖]WIN7 X64系统下任何写入别的进程内存操作都进PF?

2017-8-7 00:43
3520

因为今天在WIN7 X64下测试


自己HOOK IDT 0xe,发现只要写数据到别的进程,不管别的进程的PTE页面权限是867还是025,都进PF

(注:867是写读可写, 025是只能读)

随便找个进程,找个代码段,比如401000地址吧, 默认是低12位025权限,用windbg!eb改成成867后,用CE修改401000数据,进入PF,并且去查看401000的PTE权限,由867变成025


随便找个进程,找个数据段地址,比如0x8f858,默认是低12位是867权限,用CE修改0x8f858数据,之后用windbg去看0x8f858,低12位又变成025


难道X64所有读写其它进程都会进入PF? 并且写入后,PTE页面权限位都变025只读。。。  感觉有点类拟copy-on-write机制。


请问这到底是个什么样的机制呢?为什么呢


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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
2
不能光看PTE,从CR3到PTE每层都会影响到PF的说。
另外Valid与否?
2017-8-7 08:37
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
3

代码段你去修改的话,应该会触发COW然后帮你复制一个页出来的,然后VA对应的PFN也会变

另外同老v所说,四个table都要看一下

2017-8-7 09:24
0
雪    币: 615
活跃值: (590)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
只能说你遇见鬼了。或者你没搞清楚四级页表是怎么转换的,一个虚拟地址是怎么转换到物理地址的。
2017-8-7 13:20
0
游客
登录 | 注册 方可回帖
返回
//