一、PDE PTE 结构

低12位是权限位。低2位是RW位,RW=0表示只读,RW=1表示可读可写。

二、修改常量区数据

C语言中,修改常量区的字符串是不允许的,原因是物理页不具有写权限。

// PDE_PTE_P_RW.cpp : Defines the entry point for the console application.
//#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[])
{char *str = "Hello World";int addr = (int)str;printf("线性地址:0x%08x, 4*0x%x 4*0x%x 0x%x\n", addr, addr>>22,(addr>>12)&0x000002FF,addr&0x00000FFF);getchar(); // 修改 PDE PTE 的 RW 位为1,使物理页可读可写str[4] = ' ';printf("修改后:%s\n", str);return 0;
}

我在代码里已经按10-10-12模式拆好了线性地址,现在只要在windbg中找到PDE和PTE,将低2位改成1即可。

查CR3
!process 0 0
CR3=148af000

查PDE
!dd 148af000+4
PDE=19aef067

查PTE
!dd 19aef000+4*15
PTE=00c18025

查物理地址
!db 00c18000+818

确定没找错,然后观察发现PTE的RW=0,改成1就好了:
!ed 19aef054 00c18027

执行剩下的代码:

修改成功。

(19)修改PDE PTE 的RW位使物理页可读写相关推荐

  1. (18)修改 PTE 实现挂物理页读写空指针

    一.10-10-12二级映射 下图是101012二级映射结构: 二.读写NULL指针 正常编程中,不能读写NULL,原因是NULL指针没有对应的物理页,因此,只要我们让NULL指针最终映射到一块可读写 ...

  2. 内核知识第八讲,PDE,PTE,页目录表,页表的内存管理

    内核知识第八讲,PDE,PTE,页目录表,页表的内存管理 一丶查看GDT表. 我们通过WinDbg + 虚拟机可以进行双机调试.调试一下看下GDT表 我们知道,GDT表中.存储的是存储段信息. 保存了 ...

  3. 屏幕显示密度dpi_华为mate7——修改 DPI 屏幕密度 !可使屏幕在视觉上变得更大...

    本帖最后由 丶浩南丶 于 2015-6-5 18:36 编辑 7eed1eeb1ec25a2f7c2eba32caac659a8147.jpg (99.56 KB, 下载次数: 106) 2015-6 ...

  4. 修改nw.js的exe文件使其请求管理员权限

    修改nw.js的exe文件使其请求管理员权限 默认情况下,nw.js发布的nw.exe文件请求的是普通权限,当我们的应用需要访问一些特殊目录或者注册表等,就需要程序启动的时候以管理员权限运行.那么此时 ...

  5. (22)通过代码修改PTE实现挂物理页

    一.原理 在windbg中,我们通过CR3找到页目录表,通过页目录表找到页表,期间使用的都是物理地址,物理地址在编程中是无法使用的. 我们在之前的学习中了解到页目录表和页表的结构和对应关系,如图: 我 ...

  6. 用ffmpeg修改MP4文件头信息,使其支持流式加载及播放

    经常有用户反映,有些网页中加载的mp4文件,有的可以加载一点就开始播放,有的就必须全部加载完才能播. 经核实,主要是头信息的数据顺序有关,用工具:mp4info.exe可以查看mp4文件的结构信息: ...

  7. 修改了xiaoxia的sogou代理脚本使之能在windows下bind 127.0.0.1

    修改了xiaoxia的sogou代理脚本使之能在windows下bind 127.0.0.1 orz...首先要说的是 乱google了一天,和乱下载各种python反编译程序,以及各种配置环境后,才 ...

  8. [转帖]CR3,PDE,PTE,TLB 内存管理的简单说明

    CR3,PDE,PTE,TLB Copy From https://www.cnblogs.com/zzSoftware/archive/2013/02/11/2908824.html 网上关于vir ...

  9. Adobe Edge Animate –修改Edge Commons Spotlight功能,使之能支持播放中国网站视频

    Adobe Edge Animate –修改Edge Commons Spotlight功能,使之能支持播放中国网站视频 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权 ...

最新文章

  1. 你必须会的 JDK 动态代理和 CGLIB 动态代理
  2. Kali Linux 初上手记录 初始版本1.0.9
  3. 力扣(LeetCode)258. 各位相加
  4. 【渝粤教育】国家开放大学2018年春季 0599-21T工程造价管理基础理论与相关法规 参考试题
  5. 二叉树相关知识及求深度的代码实现
  6. tos重装mysql_云服务器(腾讯云)从零开始部署记录(3)之mysql5.7安装
  7. 从零开始学前端:jQuery官网 --- 今天你学习了吗?(CSS:Day26)
  8. pycharm python3.5 神奇的导入问题
  9. codevs 3160 最长公共子串
  10. 使用安全浏览器将网页保存为pdf的方法步骤
  11. java计算机毕业设计疫情防控期间网上教学管理源程序+mysql+系统+lw文档+远程调试
  12. 如何获取a股level2数据接口?
  13. 2022年QQ微信内置浏览器 UA 标识, Header 获取
  14. 常用广告过滤规则整理
  15. 2017年总结--心情篇
  16. d3.js一个面积图的案例(包含brush与zoom)
  17. android 新闻功能列表,Android中通过ListView的实现简单新闻列表
  18. 一个屌丝程序猿的人生(四十四)
  19. 拿到天使投资是一种怎样的体验
  20. Java毕设项目门诊管理系统补录(java+VUE+Mybatis+Maven+Mysql)

热门文章

  1. shell怎么把负数变成正数_excel怎么计算平方根-记住简单的收藏复杂的
  2. 计算机网络管理考核办法,开滦医院计算机网络管理考核细则
  3. 成功解决SQL Server软件中出现的18456问题
  4. ​​​​​​​DL之ResNeXt:ResNeXt算法的架构详解
  5. 原生js获取css样式
  6. Linux流量监控工具 - iftop (最全面的iftop教程)
  7. 查看dll 的是32位还是64位
  8. iOS编程中throttle那些事
  9. Hibernate 之单向多对一映射及其衍生问题
  10. easyui中tab页中js脚本无法加载的问题及解决方法