12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
查看: 512|回复: 0

win7 64位驱动学习日志一!

[复制链接]

505

主题

505

帖子

1020

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
1020
发表于 2019-8-19 11:03:39 | 显示全部楼层 |阅读模式
吾爱专用:大神勿喷
主要历史(摘自维基百科):x86 架构于 1978 年推出的 Intel 8086 中央处理器中首度出
现,它是从 Intel 8008 处理器中发展而来的,而 8008 则是发展自 Intel 4004 的。8086
在三年后为 IBM PC 所选用,之后 x86 便成为了个人电脑的标准平台,成为了历来最成功
的 CPU 架构。其他公司也有制造 x86 架构的处理器,计有 Cyrix(现为威盛电子所收购)、
恩益禧集团、IBM、IDT 以及 Transmeta。Intel 以外最成功的制造商为 AMD,其早先产品
Athlon 系列处理器的市场份额仅次于 Intel Pentium。8086 是 16 位处理器;直到 1985
年 32 位的 80386 的开发,这个架构都维持是 16 位。接着一系列的处理器表示了 32 位架
构的细微改进,推出了数种的扩充,直到 2003 年 AMD 对于这个架构发展了 64 位的扩充,
并命名为 AMD64。后来英特尔也推出了与之兼容的处理器,并命名为 Intel 64。两者一般
被统称为 x86-64 或 x64,开创了 x86 的 64 位时代。
--------------------------------------------------------------------------------------------------
在 X86 的“简历”里,我们摘出一段重要的话:2003 年 AMD 对于这个架构发展了 64 位的扩充,并命名为 AMD64。后来英特尔也推出了与之兼容的处理器,并命名为 Intel 64。两者一般被统称为 x86-64 或 x64,开创了 x86 的 64 位时代。也就是说,如果要学习 WIN64 内核编程,就必须拥有 2003 年以后的 CPU!不像学习 WIN32 内核编程一样,随便一台运行 XP的奔腾 3 笔记本也行!但实际情况是,基本上只有 2005 年以后的 CPU 才支持 X64 指令集;到 2008 年之后,CPU 才普遍含有 X64 指令集;到 2010 年之后,CPU 才普遍含有 X64 指令集和支持 VT-X 技术(没有 VT-X 技术就无法运行 WIN64 虚拟机)。鉴于中国的实际情况,应该很多人手里还有酷睿 2 的笔记本。一般来说,T5XXX 以下的CPU 是没有 X64 指令集的;T7XXX 以下的 CPU 是不支持 VT-X 的。只有 T7XXX 以上的 CPU,才有 X64 指令集和支持 VT-X。而 2010 年之后的 Core i 系列的 CPU,都有 X64 指令集和支持VT-X 了。台式机方面也差不多,CORE 2 似乎只有比较高端的 E8000 或者 Q8000 以上才有 X64指令集和支持 VT-X 技术。AMD 则比较厚道,Athlon X2 245 之类的低端 CPU 都有 X64 指集和支持 AMD-V 技术(等于是 AMD 的 VT-X 技术)。总结来说,如果你用的 CPU 是 CORE I 系列的,就可以了,如果不是的话,可以用 CPUZ 检测一下,看看是否支持 X64 和 VT-X。如果发现不支持 VT-X 的话,看看是不是 BIOS 里没有打开,一般主板的默认设置里,VT-X 都是关闭的。说完 CPU,说说内存。内存经历过两次大跌大涨,现在(2013 年 11 月)又在价格的顶峰,真是让人心碎。不过再让人心碎的价格,为了学习技术,大家也只能忍受了。一句话,学习 WIN64 内核编程至少需要 8GB 的内存,如果要多开虚拟机,推荐 16GB。否则在双机调试时卡死(鼠标移动变成了“飘动”的),会让人非常愤。
--------------------------------------------------------------------------------
当确定你的硬件没有问题,那就开始配置“软”的方面。首先,你要有一台运行 WINDOWS
7 X64 的电脑,然后还要安装有 VS2017 和 WDK7。
---------------------------------------
1.VMWARE。VMWARE 是虚拟机软件,相信这个大家都知道,因为版权的关系,我不能把它
的下载地址和注册码等信息放在文章里,这个可以大家去各种知名软件站点搜索。建议下载
VMWARE 11.以后的版本。
2.WINDBG。WINDBG 是微软出品的调试器,比起 OD 等常用调试器,就是支持内核调试。
它的下载地址是: http://www.windbg.org/X64%20Debuggers%20And%20Tools-x64_enus.msi(不过其实大家不用下载,因为安装 WDK 时已经自带了)。
3.VirtualKD。方便与进行虚拟机双机调试的工具,免去手动设置的麻烦。下载地址:
http://virtualkd.sysprogs.org
----------------------------------------------------------
接下来分别说『安装虚拟机』、『进行双机内核调试』和『进行本地内核调试』的步骤。
请大家一步一步进行操作,顺序绝对不能弄乱,否则必定失败。
『安装虚拟机』的步骤:
1.安装 VMWARE。
2.安装 WIN7X64 虚拟机(当然你也可以把其他 WIN64 系统都安装好)。
3.在虚拟机里关闭 UAC(方便测试驱动!这步一定要做,否则后续步骤会失败)。
4.在虚拟机里安装 VMware Tools。
5.在虚拟机里安装.NET FRAMEWORK4(如果是 WIN7X64 以后的系统则跳过这步)。
6.备份虚拟机的当前状态。
如果不了解虚拟机的使用,请自行百度,讲解虚拟机的使用方法不是课程重点。
『进行双机内核调试』的步骤:
1.把 VirtualKD 的 target 文件夹弄进虚拟机里。
2.在虚拟机里安装 VirtualKD(打开 VirtualKD 目录下的 target 文件夹,以管理员权限运
行 vminstall.exe)。【见下图】

3.在真机运行 VMMON64.exe,设置调试器路径。点击 VMMON 界面下面的『Debugger path』
按钮,选择 WINDBG 路径。一般路径是:C:\WinDDK\7600.16385.1\Debuggers\windbg.exe。
【见下图】

4.重启虚拟机,进入这个内核启动项。【见下图】

5.进入不久之后,WINDBG 会自动启动(实际上是 VMMON.EXE 启动的),出现类似这样的画面
(见下图)。按下 F5,继续让系统运行。

6.当虚拟机进入系统后,在真机 WINDBG 获得焦点的时候,按下 Ctrl+Break,记得随时调试虚拟机。按下 Ctrl+Break 后,会出现类似的画面

7.这个时候先不急着调试,先在真机安装符号包。WINDOWS 系统符号的官方下载地址是:http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx,因为我们要调试的目标系统是 WIN7X64,所以去页面上选择『Windows 7 RTM x64 retail symbols, all
languages』或『Windows 7 Service Pack 1 x64 retail symbols, all languages』下载(根据你安装了 WIN7X64SP1 还是 WIN7X64RTM)。下载完毕后安装。安装过程就是一路 NEXT,记得在安装过程中选择把符号安装到 c:\symbols,否则会影响后面的符号加载
8. 设 置 WINDBG 的 符 号 。 点 击 File->Symbol File Path , 输 入
【SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols】,再按下确定即可。若
在按下确定前,勾选一下 Reload 复选框,WINDBG 则会自动重载符号。
9.让 WINDBG 重载符号。在 WINDBG 的命令行上输入.reload 即可(注意 reload 前面有个点)。
10.测试 WINDBG 是否加载符号成功。输入 u KiInsertQueueApc,如果出现类似以下的结果,
就证明今天的课程学完了!
『进行本地内核调试』的步骤:
1.开启 CMD,输入 bcdedit –debug on。
2.重启计算机。
3.打开 WINDBG,按下 Ctrl+K,选择 Local,按下确定。
-------------------------------
下节日志开始共同学习64驱动函数编写,大神勿喷,希望支持。


来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-5-7 08:07 , Processed in 0.140625 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表