<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Oldpudding的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Oldpudding</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Oldpudding]]></copyright><item><title><![CDATA[驱动编程学习5/IA-32e模式]]></title><link>https://blog.youkuaiyun.com/Oldpudding/article/details/109817411</link><guid>https://blog.youkuaiyun.com/Oldpudding/article/details/109817411</guid><author>Oldpudding</author><pubDate>Thu, 19 Nov 2020 17:03:38 +0800</pubDate><description><![CDATA[文章目录IA-32e模式基础介绍段描述符权限切换x64用户态切换权限x86用户态切换权限总结
IA-32e模式
基础介绍

内核64位，用户64位或32位（内核均为64位代码）
IA32_EFER MSR C0000080H 中的值的第8位为1时，系统处于IA-32模式。
在Intel手册上IA32_EFER MSR寄存器构造如下图所示，第8位的含义为IA-32e模式的启动标志位。

在WinDbg中查看IA32_EFER标志位的命令如下：

rdmsr c0000080

在本机的查询结果如下图所示：

]]></description><category></category></item><item><title><![CDATA[驱动编程学习4/第一个驱动程序的编写]]></title><link>https://blog.youkuaiyun.com/Oldpudding/article/details/109811401</link><guid>https://blog.youkuaiyun.com/Oldpudding/article/details/109811401</guid><author>Oldpudding</author><pubDate>Thu, 19 Nov 2020 14:43:11 +0800</pubDate><description><![CDATA[1.进入vs2019，选择Kernel Mode Driver Empty，点击下一步

如果找不到，重新下载WDK，https://docs.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk
默认安装即可（主要是安装VSIX）
2.进入项目后，新增一个.c的文件 （必须是c文件，cpp会报错）

3.内核驱动有一个统一的入口函数，为DriverEntry，原型如下
NTSTATUS DriverEntry(
	PDRIVER_OBJ]]></description><category></category></item><item><title><![CDATA[驱动编程学习3/Win10双机调试环境配置]]></title><link>https://blog.youkuaiyun.com/Oldpudding/article/details/109810608</link><guid>https://blog.youkuaiyun.com/Oldpudding/article/details/109810608</guid><author>Oldpudding</author><pubDate>Thu, 19 Nov 2020 14:23:09 +0800</pubDate><description><![CDATA[Win10双机调试环境组件需求windbg安装（实机中安装）虚拟机环境配置
组件需求
WinDbg最新版
虚拟机环境:Windows 10镜像
windbg安装（实机中安装）
在添加或删除程序中选择Windows SDK 10.1.19041.1版本 修改（这个sdk一般在vs2019中下载）

勾选Debugging Tools for Windows

在搜索中搜索Windbg，打开Windbg（x64）

虚拟机环境配置
1.在虚拟机关机的状态下，在设置中将处理器及内核均调为1.

2.删除硬件中的打]]></description><category></category></item><item><title><![CDATA[驱动编程学习2/x64汇编基础]]></title><link>https://blog.youkuaiyun.com/Oldpudding/article/details/109805616</link><guid>https://blog.youkuaiyun.com/Oldpudding/article/details/109805616</guid><author>Oldpudding</author><pubDate>Thu, 19 Nov 2020 13:38:26 +0800</pubDate><description><![CDATA[x64寄存器x64寄存器基本介绍对32位寄存器的操作立即数的使用优先使用偏移寻址对于超过32位地址的CALL及返回方式调用约定
x64寄存器基本介绍

x64模式下有16个通用寄存器可使用，和x86相比多出了r8-r15共8个寄存器，这些寄存器每个都能能拆分为rXd（dword），rXw（word），rXb（byte）
rsp，rbp，rsi，rdi分别能分出最小单位spl，bpl，sil，dil，均为8位寄存器。

用户可用的寻址空间为00000000‘00000000-----00007FFF’FFFF]]></description><category></category></item><item><title><![CDATA[驱动编程学习1/驱动编程环境配置]]></title><link>https://blog.youkuaiyun.com/Oldpudding/article/details/109720789</link><guid>https://blog.youkuaiyun.com/Oldpudding/article/details/109720789</guid><author>Oldpudding</author><pubDate>Mon, 16 Nov 2020 14:44:03 +0800</pubDate><description><![CDATA[Windows驱动编程环境配置



首先需要安装VS2019（社区版、专业版、企业版都可以）。注意一定要先安装vs工具包组件再安装WDK，否则出现问题概不负责。
	安装程序中，选择“单个组件”，搜索Windows SDK ，勾选版本最新版（我的机器上最新版为10.0.19041.0），注意一定要装最新的，因为官网下载的WDK在安装的时候也是要求最新的SDK




3.接下来搜索MSVC v14.27，勾选x64/x86 Spectre缓解库





4.安装两项组件并等待至完成，若需要重启则进行...]]></description><category></category></item></channel></rss>