[轉]关于CR0.WP】的更多相关文章

关于CR0.WP 我们知道CR0的WP位可以关闭内核写保护.他和页表的R/W位有关.Intel手册中的描述绕来绕去似乎一直没有说到重点. When the processor is in supervisor mode and the WP flag in register CR0 is clear (its state following reset initialization), all pages are both readable and writable (write-protect…
开始的时候,我认为CR0.WP如果被置位,那么内存的页面只读属性将会失效,导致可以被写入数据. 这几天正好碰到一个问题,查看了资料才发现,之前的理解不完整. 引用Intel手册中的一句话: CR0.WP allows pages to be protected from supervisor-mode writes. If CR0.WP = 0, supervisor-mode write accesses are allowed to linear addresses with read-on…
32位系统中有4GB的虚拟地址空间 每个进程有一个地址空间,共4GB,(具体分为低2GB的用户地址空间+高2GB的内核地址空间) 各个进程的用户地址空间不同,属于各进程专有,内核地址空间部分则几乎完全相同 虚拟地址如0x11111111,  看似这8个数字是一个整体,其实是由三部分组成的,是一个三维地址,将这个32位的值拆开,高10位表示二级页表号,中间10位表示二级页表中的页号,最后12位表示页内偏移(2^12=4kb),因此,一个虚拟地址实际上是一个三维地址,指明了本虚拟地址在哪个二级页表,…
                                                                                                     By Lthis 上个月就想写了,一直没时间...网上大概搜了一下,原理与操作倒是一大堆,一直没看到源码实现,总得有人动手,这回轮到我了.东西写得很烂,请大牛勿喷.一直觉得靠源码的方式驱动学习是非常好的一种学习方法,比较直观!声明一下,本教程只有讨论开启PAE与关闭PAE两种,至于PSE是否开启没…
转载:http://ytliu.info/blog/2014/11/24/shi-shang-zui-xiang-xi-de-kvm-mmu-pagejie-gou-he-yong-fa-jie-xi/ 这段时间在研究KVM内存虚拟化的代码,看的那叫一个痛苦.网上大部分能找到的资料,不管是中文的还是英文的,写的都非常含糊,很多关键的数据结构和代码都讲的闪烁其辞,有些就是简单的把KVM的文档翻译了一下,但是KVM的文档也让人(至少让我)看的挺费解的,只能着眼于代码,一直挣扎到如今,终于有那么一点开…
1. 引言:这篇文章提供了一种增加自定义系统调用或劫持原有的系统调用的实现方法,只针对 linux 系统.主要思路是获取系统调用表 sys_call_table 地址,然后用新函数地址覆盖系统调用表某个元素的值,最终代码可以以modules的模式使用,也可以直接编译进内核使用. 2. 获取系统调用表基地址的方法: cat System.map | grep "sys_call_table" 3. 获取了系统调用表基地址后,如果直接修改这个表,会报错unable to handle ke…
BACKGROUND OF THE INVENTION A conventional virtual-machine monitor (VM monitor) typically runs on a computer and presents to other software the abstraction of one or more virtual machines. Each virtual machine may function as a self-contained platfor…
SSDT 中文名称为系统服务描述符表,该表的作用是将Ring3应用层与Ring0内核层,两者的API函数连接起来,起到承上启下的作用,SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基址.服务函数个数等,SSDT 通过修改此表的函数地址可以对常用 Windows 函数进行内核级的Hook,从而实现对一些核心的系统动作进行过滤.监控的目的,接下来将演示如何通过编写简单的驱动程序,来实现搜索 SSDT 函数的地址,并能够实现简单的内核 Hook 挂钩. 在开始…
驱动在hook系统函数的时候通常要将只读属性暂时的屏蔽掉,主要有三种方法 1.修改CR0寄存器的WP位,使只读属性失效(这是网上用的最多的方法),切忌使用完之后立马修改回来 2.只读的虚拟地址,通过CR3寄存器中的页目录物理地址找到页目录项继而找到页表项,然后修改页表项中的W位来进行修改 3.在页表里新找一项,将其对应的物理地址改为,你要修改那页的物理地址,页属性为可写.然后操作那页即可.X86体系的缺点是可以保护虚拟地址,但不能保护物理地址. CR0 寄存器 CR4…
为了安全起见,Windows XP及其以后的系统将一些重要的内存页设置为只读属性,这样就算有权力访问该表也不能随意对其修改,例如SSDT.IDT等.但这种方法很容易被绕过,我们只要将这些部分修改为可写属性就可以了,不过当我们的事情做完后记得把它们恢复为只读属性,不然会造成一些很难预料到的后果. cr0是系统内的控制寄存器之一.控制寄存器是一些特殊的寄存器,它们可以控制CPU的一些重要特性. 控制寄存器最初出现于低级的286处理器中,以前称之为机器状态字(machine status word),…
状态和控制寄存器组除了EFLAGS.EIP ,还有四个32位的控制寄存器,它们是CR0,CR1,CR2和CR3. 这几个寄存器中保存全局性和任务无关的机器状态. CR0中包含了6个预定义标志,0位是保护允许位PE(Protedted Enable),用于启动保护模式,如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行.1位是监控协处理位MP(Moniter coprocessor),它与第3位一起决定:当TS=1时操作码WAIT是否产生一个"协处理器不能使用"的出错信号.第…
基于Xv6-OS 分析CR0 寄存器 之前一直认为晕乎乎的...啥?什么时候切换real model,怎么切换,为什么要切换? ------------------------------------------------------------------------------------------------------------------------------------------- 以下这段代码来自Xv6的boot/boot.S 这就是CPU real model 和 pr…
常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列的功能和手动配置,卸除原基础不常用的功能:http://www.cnblogs.com/dunitian/p/5377097.html 好几天没上QQ了,今天上了个QQ,,额....额...貌似消息还挺多,没及时回复的还请见谅~~刚好昨天无聊把水印这快封装出来了,支持图片水印,文字水印,索引图水印和…
1.这篇文章肯定会有类似这样的评论:“我就是喜欢wp,我就是喜欢metro,我就是软粉“等类似的信仰论者发表的评论. 2.2014年我写过一篇文章,windows phone如何才能在中国翻身? 我现在依然坚持我的看法. 3.我用了一年多的wp.作为微软粉丝,我以前学过wp开发,asp.net开发,但现在从事安卓开发,java web开发.或许我确实不懂metro的精华,但问题就在此,不只是我,大部分人是不懂的,无法消受的.所以你只能无言以对这种现状. 4.软粉们不能说依着自己的喜好来分析问题,…
今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: Windows Forms 先看看Window Forms中的情况,下图为在VS中创建的默认Windows Forms项目结构: 分别回顾一下每个文件以及它们之间的关系: ┣━ Properties------------------------------------------- 项目属性文件夹 ┣━━━━━ AssemblyInfo.cs--------…
从前,我以为.一个手机系统只是一个系统的UI风格,没什么不同的.然而,在我混合使用这三个手机系统之后,才明白,一个手机系统远不只一个UI那么简单,而真的是可以称之为一个“生态”. 首先祭出三台经典设备,分为是 拍摄能力惊人的Lumia1020,国民手机红米Note,测试机ipod touch 5(嗯,其实严格来说的话应该要用 iphone5s 才对的,只是手上没有) Action1 外观直觉 最左是骚黄的诺记,背后一个奥利奥令人十分印象深刻,至于丑不丑就见仁见智了,个人来说还是挺好的.最底下是虚…
换了个nexus 发现输入法真的没有wp的好用 没办法,刚好搜狗输入法有定制皮肤的选项,所以自己做了个wp风格的输入法皮肤. 一点微小的工作 http://pan.baidu.com/s/1kVsHdfL…
上一次弄wp真机调试的时候,卡住了,这里讲一下怎么解决(http://www.cnblogs.com/dunitian/p/4870959.html) 进这个网址注册一下:https://www.dreamspark.com/student/default.aspx (注册的时候出生日期别瞎填,至少保证是成年人,不然各种限制) 填写相应的信息 然后到验证的时候选择Isic验证: 然后准备输入卡号:(这个页面有个bug:每错误输入2次后最好F5刷新一下,这样会重头计算错误) S 420 548 0…
在WP 8.1中只有Silverlight App支持操作剪贴板的API,Runtime App并不支持.不过,在WP 10中也引入了可以操作剪贴板的API. 顺便说点题外话,有人会说,我8.1的开发还没学了,Win10又来了,那我怎么学得过来?放心,学得过来的D,因为只要你对有WPF的基础,再加上对RT App的学习就足够应付Win 10上的app开发了.实际上,面向10的API都是在8.1的基础上增加一点新的API而已,你不需要学习新的知识就可以直接玩10的开发了. 而且,你在10上依然可以…
在上一篇文章中,曾说好本次将提供一个客户端之间传输加密数据的例子.前些天就打算写了,只是因一些人类科技无法预知的事情发生,故拖到今天. 本示例没什么技术含量,也没什么亮点,Bug林立,只不过提供给有需要的朋友娱乐娱乐一下,喜欢钻牛角尖的朋友最好别看,否则会让你一把鼻涕一把泪的. 好,废话到此为止. 因为在Windows上的RT应用程序的加/解密方法和上一篇文章中我给大家讲述的WP加解密的方法是一样的,毕竟那是共享的API.为了达到充分装逼的效果,我准备的服务器应用程序为Windows Forms…
说起双向加密,如果以前在.NET开发中弄过加/解密的朋友都不会陌生,常用的算法有DES.AES等.在RT应用程序中,也提供了加密相关的API,算法自然是一样的,只是API的封装方式不同罢了,因为RT不完全是托管代码,而又类似于COM的形式公开,这对于低端设备来说,性能可以提升,当然了,对于高端设备来说无所谓. 在WP的RT应用中,涉及到加/解密的API都在以下几个命名空间里,大家要用的就在里面找,也不是所有类都会用得上,加密一般就用两大类:需要恢复内容时选用双向加密,如DES.AES等算法:如果…
在今天的吹牛节目开始之前,先交代一件事: 关于玩WP 8.1开发所使用的VS版本问题.对版本的要求是2013的Update2,这是最低要求,只要是这个版本或以上都可以,而update3,update4,update5是不是必须更新呢?不是的,VS的update是可选的,而且每个update都会累积,所以,update越多,安装包的体积越大.因此,WP开发我们只需update2就行了,我用的也是u2.如果你觉得MSDN原版不好下,可以从下面的地址下,我已经把相关的.iso上传到115.这里面是旗舰…
由于众所周知的原因. ICSharpCode.SharpZipLib.dll在Unity移植WP的时候出现诸多API不兼容,解决方案是在在Github上面找ICSharpCode.SharpZipLib.dll的可移植库,SharpZipLib.Portable-master…
一.WP BaiDu Submit 简介 WP BaiDu Submit帮助具有百度站长平台链接提交权限的用户自动提交最新文章,以保证新链接可以及时被百度收录. 安装WP BaiDu Submit后,能又快又全的向百度提交网页. 二.安装WP BaiDu Submit插件的好处 (1)自动推送sitemap,优化内容收录 没有sitemap权限,不知道怎么提交sitemap数据?结构化数据插件帮你搞定.遍历论坛帖子页历史URL数据,自动生成sitemap提交到百度. (2)实时推送论坛新内容,加…
0.写在前面的话 近来被HTML+CSS的布局折腾的死去活来,眼巴巴的看着CSS3中的flex,grid等更便捷更高效的的布局方式无法在项目中应用,心里那叫一个窝火啊,去你妹的兼容性,,, 最近体验下Android开发,第一件事就是翻翻看安卓提供的布局方式方便不,因为笔者现在是做WP的,于是乎有了这篇比较两个平台提供的一些基础的布局方式的博文. 另外,安装完Android Studio后,在Android的SDK的目录下有一个docs的文件夹,这里面提供的有离线的官方文档. Android应用在…
0. 所需的安装文件 笔者做了几年WP,近来对Android有点兴趣,尝试一下Android开发,废话不多说,直接进入主题,先安装开发环境,笔者的系统环境为windows8.1&x64. 安装Android Studio需要如下准备2个文件: Android Studio:下载地址(https://dl.google.com/dl/android/studio/install/1.2.2.0/android-studio-bundle-141.1980579-windows.exe) jdk7:…
服务端跟新浪微博交互的时候需要用到UID参数, 但WP的WeiboSDK默认没有提供, 只要增加一个类成员就好了, 序列化json的时候程序会自动处理 下载SDK源代码http://weibowp7sdk.codeplex.com/SourceControl/latest#ReadMe.txt 找到文件SDKCmdDefines.cs,  修改 SdkAuth2Res类, 代码如下 [DataContract] public class SdkAuth2Res { [DataMember(Nam…
回顧字符編碼的前世今生 ASCII 只能儲英文或特殊字符,只占一個字節,一個字節8bit,不能儲中文,所以才出現Unicode Unicode 不管是中文或英文,都是占二個字節,一個字節8bit UTF-8 是一種針對Unicode的可變長度字元編碼,英文字符一樣會依照ASCII碼規範,只占一個字節8bit,而中文字符的話,統一就占三個字節 回顧可以參考字符編碼 字符編碼解碼流程 圖解當二種不同字符編碼的轉編.解碼的過程,例如我要把一個GBK的字符編碼轉成UTF-8的過程是怎麼轉換的 首先通過編…
对wp兴趣很大,可真正学习时,目的性就很不明确了,其实这有两大问题阻碍着,一是自身的基础还不够扎实,二是学习资料不好找,前者只能慢慢积累,而后者却是可以改变的,现在我的主阵营是channel 9上的wp8零基础教程,毕竟是官方出品,但是他是全英文的,虽然英文还行,可读起来还是有点吃力啊!但如果真正读进去,就可以直接面对作者,那样的收获也更大!还有就是真正有时间学wp并不太多,每天课程满满的,只有周末能腾出时间来,那可要抓住这宝贵的时间.…
WP and Win10 效果:(数字是参考值,和UI无关) <Page x:Class="_05.AllControls._BorderUsePage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using…