当前位置: 首页 > news >正文

网站升级建设wordpress多国语言

网站升级建设,wordpress多国语言,淘宝关键词top排行榜,东莞网站主页制作前言 分页基础概念是操作系统基础知识#xff0c;网上已经有太多太多了。所以本文记录使用windwow内核调试工具验证理论知识。 具体可以参阅intel volume3的 4.1.1 Four Paging Modes章节。 简而言之#xff1a;CR0.PG 0表示不开启分页.并且根据CR4各种标志开启不同类别的…前言 分页基础概念是操作系统基础知识网上已经有太多太多了。所以本文记录使用windwow内核调试工具验证理论知识。 具体可以参阅intel volume3的 4.1.1 Four Paging Modes章节。 简而言之CR0.PG 0表示不开启分页.并且根据CR4各种标志开启不同类别的分页模式,大致有四种模式。这里贴出原文 CR4.PAE 开启物理地址扩展 简单点理解就是 IA32_EFER.LME 用于启用64位模式本文讨论范围 CR4.LA57 CR4.LA57是一个控制寄存器的位用于启用或禁用所谓的5级分页模式启用57位线性地址。本文不讨论因为现在基本没有使用 CR4.LA57 是CR4的第12位在window10 64位都没有启用(也没有必要启用) 本位讨论的分页机制是原文中的4-level paging分页机制。 这里给出对应原文翻译(仅作参考): 如果 CR4.PAE 1IA32_EFER.LME 1且 CR4.LA57 0则使用 4 级分页1。4 级分页在第 4.5 节中详细介绍以及 5 级分页。 4 级分页使用 CR0.WP、CR4.PGE、CR4.PCIDE、CR4.SMEP、CR4.SMAP、CR4.PKE、CR4.CET、CR4.PKS 和 IA32_EFER.NXE 如第 4.1.3 节和第 4.6 节所述。这种分页机制可以存在以下三种分页大小分别为4k 2M 1G。具体参阅intel volume3的 4.5.4 Linear-Address Translation with 4-Level Paging and 5-Level Paging章节 举例说明 本文以win10 64举例 首先查看cr0.PG用于判断是否开启了分页 1: kd r cr0 cr00000000080050033 1: kd .formats 0000000080050033 Evaluate expression:Hex: ffffffff80050033Decimal: -2147155917Octal: 1777777777760001200063Binary: 11111111 11111111 11111111 11111111 10000000 00000101 00000000 00110011Chars: .......3Time: ***** InvalidFloat: low -4.59249e-040 high -1.#QNANDouble: -1.#QNAN 我们cr0.PG是第31位上面可以看到已经设置为1表示已经开启分页。 接着我们查看是否开启了64位 我们首先查看IA32_EFER寄存器。这是一个MSR其编号0xC00000801 //查询寄存器数值 1: kd rdmsr c0000080 msr[c0000080] 0000000000000d01//打印数值 1: kd .formats 0000000000000d01 Evaluate expression:Hex: 0000000000000d01Decimal: 3329Octal: 0000000000000000006401Binary: 00000000 00000000 00000000 00000000 00000000 00000000 00001101 00000001Chars: ........Time: Thu Jan 1 08:55:29 1970Float: low 4.66492e-042 high 0Double: 1.64474e-320 其中第8和第10位是我们需要关注的如果是1的话表示开启。本例已经可以看到已经设置为1证明已经开启了64位 最后我们分析一下开启哪种分页模式 1: kd r cr4 cr400000000001506f81: kd .formats 00000000001506f8 Evaluate expression:Hex: 00000000001506f8Decimal: 1378040Octal: 0000000000000005203370Binary: 00000000 00000000 00000000 00000000 00000000 00010101 00000110 11111000Chars: ........Time: Sat Jan 17 06:47:20 1970Float: low 1.93105e-039 high 0Double: 6.80842e-318 其中PAE是第5位LA57 是第12位 CR4.PAE 1 CR4.LA57 0 综上本系统开启了level 4的分页模式 我们随便查看一个寄存器的数值 1: kd r gdtr gdtrffffd001fee69840 1: kd dq ffffd001fee69840 ffffd001fee69840 0000000000000000 0000000000000000 ffffd001fee69850 00209b0000000000 0040930000000000 ffffd001fee69860 00cffb000000ffff 00cff3000000ffff ffffd001fee69870 0020fb0000000000 0000000000000000 ffffd001fee69880 fe008be62ac00067 00000000ffffd001 ffffd001fee69890 7240f36e90007c00 0000000000000000 ffffd001fee698a0 0000000000000000 0000000000000000 ffffd001fee698b0 ecdd8e0000106100 00000000fffff800 我们通过计算得到相关偏移 ffffd001fee69840 对于 4k大小 分页 PML4 0x1A0 , Directory ptr 0x7 , Directory 0x1F7 , table 0x69, offset 0x840 其他略//查看页表 1: kd r cr3 cr300000000001ab000//由于PML4全部8字节的所以我们计算可以得相关地址位cr3 8 *PML4 最后得到 PML4E0000000000125863 1: kd !dq 00000000001ab0008*1A0 # 1abd00 0000000000125863 0000000000000000 # 1abd10 0000000000000000 0000000000000000 # 1abd20 0000000000000000 0000000000000000 # 1abd30 0000000000000000 0000000000000000 # 1abd40 0000000000000000 0000000000000000 # 1abd50 0000000000000000 0000000000000000 # 1abd60 0000000000000000 0000000000000000 # 1abd70 0000000000000000 0000000000000000//根据规范取出 0000000000125863中的40位 也就是51到12位 0x0000000125000然后计算出//PDPTE 0000000000237863 1: kd !dq 0x00000001250000x7*8 # 125038 0000000000237863 0000000000243863 # 125048 0000000000000000 0000000000000000 # 125058 0000000000000000 0000000000000000 # 125068 0000000000000000 0000000000000000 # 125078 0000000000000000 0000000000000000 # 125088 0000000000000000 0000000000000000 # 125098 0000000000000000 0000000000000000 # 1250a8 0000000000000000 0000000000000000//得到 PDPTE 0000000000237863这时候我们需要查看ps是否启用了1G大小分页 //ps是第7位这里显然为0 我可以继续下一步提取PDE 即提取51位到12位得到 0x0000000237000 //PDE 0000000000325863 1: kd !dq 0x00000002370000x1F7 *0x8 # 237fb8 0000000000325863 000000000014a863 # 237fc8 000000007a6c5863 000000007a6c6863 # 237fd8 000000007bfc4863 00000000024d1863 # 237fe8 00000000013a5863 0000000003f79863 # 237ff8 000000000550c863 800000000023a963 # 238008 800000006e450963 8000000004049963 # 238018 800000007ae2b963 800000007a7b2963 # 238028 800000007a828963 800000007a75a963// 首先要判断是否是4k分页还2M分页 也就是看第7位为1为1开启2M // 这里得到结论为0 所以为4k分页, 提取PTE即提取51位到12位得到 0x0000004e5f000得到物理地址//PTE8000000004e5f963 1: kd !dq 0000000325000 69*8 # 325348 8000000004e5f963 8000000004e60963 # 325358 8000000004e61963 8000000004e62963 # 325368 8000000004e63963 8000000004e64963 # 325378 8000000004e65963 8000000004e66963 # 325388 8000000004e67963 8000000004e68963 # 325398 8000000005069963 800000000516a963 # 3253a8 800000000516b963 800000000026c963 # 3253b8 800000000016d963 800000000036e963// 0x0000004e5f000加上偏移0x840得到最后的物理地址 1: kd !dq 0000004e5f000840 # 4e5f840 0000000000000000 0000000000000000 # 4e5f850 00209b0000000000 0040930000000000 # 4e5f860 00cffb000000ffff 00cff3000000ffff # 4e5f870 0020fb0000000000 0000000000000000 # 4e5f880 fe008be62ac00067 00000000ffffd001 # 4e5f890 7240f36e90007c00 0000000000000000 # 4e5f8a0 0000000000000000 0000000000000000 # 4e5f8b0 ecdd8e0000106100 00000000fffff800 最后用两个命令分别查看物理地址和虚拟地址内存数值判断是否正确 //使用dq直接看虚拟地址内存 1: kd dq gdtr ffffd001fee69840 0000000000000000 0000000000000000 ffffd001fee69850 00209b0000000000 0040930000000000 ffffd001fee69860 00cffb000000ffff 00cff3000000ffff ffffd001fee69870 0020fb0000000000 0000000000000000 ffffd001fee69880 fe008be62ac00067 00000000ffffd001 ffffd001fee69890 7240f36e90007c00 0000000000000000 ffffd001fee698a0 0000000000000000 0000000000000000 ffffd001fee698b0 ecdd8e0000106100 00000000fffff800 //使用!dq查看物理地址 1: kd !dq 0000004e5f000840 # 4e5f840 0000000000000000 0000000000000000 # 4e5f850 00209b0000000000 0040930000000000 # 4e5f860 00cffb000000ffff 00cff3000000ffff # 4e5f870 0020fb0000000000 0000000000000000 # 4e5f880 fe008be62ac00067 00000000ffffd001 # 4e5f890 7240f36e90007c00 0000000000000000 # 4e5f8a0 0000000000000000 0000000000000000 # 4e5f8b0 ecdd8e0000106100 00000000fffff800 参考链接 [原创]windows64位分页机制分析-隐藏可执行内存方法 Control_register
http://www.dnsts.com.cn/news/135059.html

相关文章:

  • 成都公司做网站的wordpress .htaccess 301重定向
  • 成武菏泽网站建设保定网站搜索引擎优化
  • 沈阳做网站哪家公司好福州网站建设哪个好
  • 城建档案网站建设 博客天津网站建设zymxart
  • wordpress 判断登录页面跳转游戏网站怎么做seo
  • 湛江网站建设招聘设计logo图案用什么软件
  • 兰州专业做网站的公司广告投放形式有哪些
  • 网站程序盗版内部网站 备案
  • 怀化市住房与城乡建设厅网站关于做网站的策划书
  • 做app网站的公司名称win7 iis7 添加网站
  • 山东做网站建设的好公司哪家好江河建设集团有限公司网站
  • 张家港网站建设培训班安徽网站建设详细策划
  • .net招聘网站怎么做wordpress做登录
  • 浙江省网站建设与管理试卷网站建设实习
  • 网站被谷歌收录广东建设继续教育网站
  • 青色网站欣赏建设网站需要什么知识
  • 通辽做家教的网站阜阳室内设计学校
  • 苏州建站费用好的企业型网站模板
  • 做网站的公司推荐如何在电脑登录wordpress
  • 网站开发毕设的需求分析北京中小企业建站价格
  • wordpress小说站山东人才招聘网
  • 做网站 页面自适应wordpress地址应该填什么意思
  • 网站后台登陆模板网站建设600元全包
  • 手机网站建设的影响如何写一个可以做报价计算的网站
  • 建站公司哪个好wordpress total主题
  • 淮南网站建设全包南京学校网站建设策划
  • 南京网络科技网站建设济南公积金网站
  • 重庆营销型网站开发做网站属于什么技术
  • 科技广告公司网站建设青浦网站设计
  • 旅游网站自己怎么做深圳网页设计科技有限公司