驱动开发环境及其双机调试环境搭建

开发环境搭建

使用工具:vs2015,Windows 10 SDK_10.0.14393,WDK10.0.14393.0

(1)安装VS2015  随便一个版本吧,我安装的企业版

(2)安装WDK10.0.14393 安装WDK

(3)安装Windows 10 SDK_10.0.14393.安装SDK,这个首先可以尝试从VS配置更新里安装。

控制面板->卸载程序->vs2015->更改

选上这个SDK,然后更新。注意这个地方很有可能更新失败,我在公司一次就更新成功,在家里更新了好多次,最后都是hash校验失败啥的错误。最终无奈,去网上找离线安装包,注意离线安装包是一个几百兆的压缩文件,不是那种很小的。很小的下载下来,双击之后还是走的上面的那个流程。相当于下载器。下载器下载下来的依然可能出现之前的hash校验失败。这个地方我尝试了好多次。

TIP:最后一点就是一定要注意,SDK和WDK的第三位版本号一定要对上。我的是14393

搭建双击调试环境

接下来是搭建调试环境,驱动通常是搭建双击调试环境。虽然不是要逆向调试啥的。但是本机调试的话很容易丢失一些信息。毕竟蓝屏后我们能得到的只有一个dump。

双击调试环境搭建很简单。下面说下步骤:

1.安装VMWARE,虚拟机。

2.安装Win 64系统。(我是安装的win7)。

3.把第二部安装的系统UAC关掉。

4.在虚拟机里安装WMware Tools。这个在虚拟机设置里可以直接更新。

5.在虚拟机里直接安装.net framework4(如果安装的系统高于win7就不用了,win7,貌似是3.5的,之后都是大于等于4.0的)。

6.备份虚拟机当前镜像。

上面安装完虚拟机之后,接下来继续搭建调试环境。

1.安装windebug.

2.下载VirtualKD然后把target文件夹拷贝到虚拟机里。

3.虚拟机里管理员权限,找到刚刚下载的VirtualKD,运行target文件夹下的vminstall.exe。

4.然后在本机里运行VirtualKD里面的wmmon64.exe,设置调试路径[Debugger path]为1安装的windebug路径

5.重启刚刚的虚拟机(注意此时本机的wmon64正在开启着,在第3步里)。选择这个启动项:

然后会发现windebug自动启动了,其实是被wmon唤醒的,然后电脑卡在这个界面:

可以理解为现在是卡到了调试断点,在windebug里面直接按F5让虚拟机里的系统跑起来。

6.然后先别调试,先去下载windows符号表:

http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx对应找到自己系统的符号表。注意有SP1和RTM的区别。下载之后安装到C:\symbols这个目录。

7.在windebug里设置符号表路径:

File->Sysbol file path

8.测试符号表是不是导入成功,此时先重启刚刚的虚拟机,进入到那个按f5之前的那一步。

输入u KiInsertQueueApc看到下面这样(u xxx是内存代码反汇编):

就没啥毛病了。

OK上面的开发环境和调试环境就OK了。

Win64 驱动内核编程-1.环境搭建的更多相关文章

  1. Win64 驱动内核编程-2.基本框架(安装.通讯.HelloWorld)

    驱动安装,通讯,Hello World 开发驱动的简单流程是这样,开发驱动安装程序,开发驱动程序,然后安装程序(或者其他程序)通过通讯给驱动传命令,驱动接到之后进行解析并且执行,然后把执行结果返回. ...

  2. Win64 驱动内核编程-3.内核里使用内存

    内核里使用内存 内存使用,无非就是申请.复制.设置.释放.在 C 语言里,它们对应的函数是:malloc.memcpy.memset.free:在内核编程里,他们分别对应 ExAllocatePool ...

  3. Win64 驱动内核编程-8.内核里的其他常用

    内核里的其他常用 1.遍历链表.内核里有很多数据结构,但它们并不是孤立的,内核使用双向链表把它们像糖 葫芦一样给串了起来.所以遍历双向链表能获得很多重要的内核数据.举个简单的例子,驱 动对象 Driv ...

  4. Win64 驱动内核编程-7.内核里操作进程

    在内核里操作进程 在内核里操作进程,相信是很多对 WINDOWS 内核编程感兴趣的朋友第一个学习的知识点.但在这里,我要让大家失望了,在内核里操作进程没什么特别的,就标准方法而言,还是调用那几个和进程 ...

  5. Win64 驱动内核编程-18.SSDT

    SSDT 学习资料:http://blog.csdn.net/zfdyq0/article/details/26515019 学习资料:WIN64内核编程基础 胡文亮 SSDT(系统服务描述表),刚开 ...

  6. Win64 驱动内核编程-11.回调监控进线程句柄操作

    无HOOK监控进线程句柄操作 在 NT5 平台下,要监控进线程句柄的操作. 通常要挂钩三个API:NtOpenProcess.NtOpenThread.NtDuplicateObject.但是在 VI ...

  7. Win64 驱动内核编程-10.突破WIN7的PatchGuard

    突破WIN7的PatchGuard WIN64 有两个内核保护机制,KPP 和 DSE.KPP 阻止我们 PATCH 内核,DSE 拦截我们加载驱动.当然 KPP 和 DSE 并不是不可战胜的,WIN ...

  8. Win64 驱动内核编程-25.X64枚举和隐藏内核模块

    X64枚举和隐藏内核模块 在 WIN64 上枚举内核模块的人方法:使用 ZwQuerySystemInformation 的第 11 号功能和枚举 KLDR_DATA_TABLE_ENTRY 中的 I ...

  9. Win64 驱动内核编程-23.Ring0 InLineHook 和UnHook

    Ring0 InLineHook 和UnHook 如果是要在R0里hook,作者的建议是InLine HOOK,毕竟SSDT HOOK 和 SHADOW SSDT HOOK比较麻烦,不好修改.目前R3 ...

随机推荐

  1. 分布式基础理论之CAP 和BASE

    前言 本文聊聊 CAP 定理和 BASE 理论. CAP 定理 C:一致性(Consistency) 数据的强一致性.希望分布式系统只读到最新写入的数据 A:可用性(Availability) 分布式 ...

  2. springboot注解之@Configuration 和 @Bean

    1.包结构 2.主程序类 1 /** 2 * 主程序类 3 * @SpringBootApplication:这是一个springboot应用 4 * 5 * @SpringBootApplicati ...

  3. OpenCV 之 角点检测

    角点 (corners) 的定义有两个版本:一是 两条边缘的交点,二是 邻域内具有两个主方向的特征点. 一般而言,角点是边缘曲线上曲率为极大值的点,或者 图像亮度发生剧烈变化的点.例如,从人眼角度来看 ...

  4. C# 通过ServiceStack 操作Redis——String类型的使用及示例

    1.引用Nuget包 ServiceStack.Redis 我这里就用别人已经封装好的Reids操作类,来演示,并附上一些说明 RedisConfigInfo--redis配置文件信息 /// < ...

  5. 深入理解Java并发框架AQS系列(二):AQS框架简介及锁概念

    深入理解Java并发框架AQS系列(一):线程 深入理解Java并发框架AQS系列(二):AQS框架简介及锁概念 一.AQS框架简介 AQS诞生于Jdk1.5,在当时低效且功能单一的synchroni ...

  6. JAVA视频资料百度网盘分享

    1.javascript视频教程 链接: http://pan.baidu.com/s/1gd57FVH 密码: d9ei 2.JPA视频教程 链接: http://pan.baidu.com/s/1 ...

  7. git提交本地文件到远程仓库及参与的项目仓库

    1.git提交本地文件到组织 1.先再组织中建立个用于存放文件的仓库建然后复制仓库地址: 2.进入要上传的文件的根目录下右击 git Bash 进入git控制台,我要上传的文件如下: 3.进入后: 1 ...

  8. 在Windows10搭建WebAssembly开发环境

    最近研究WebAssembly技术,准备用WebAssembly编译C/C++代码供前端调用.网上看了很多文章,收获很大,现在就遇到的问题做一个记录. 官网关于windows开发环境搭建基本上几句话, ...

  9. java例题_04 分解质因数

    1 /*4 [程序 4 分解质因数] 2 题目:将一个大于 2 正整数分解质因数.例如:输入 3, 3=3, 输入 6, 6=2*3,输入 90, 90=2*3*3*5. 3 程序分析:对 n 进行分 ...

  10. 痞子衡嵌入式:关于恩智浦入驻B站的一些思考

    故事起源于这周五的一封公司邮件,标题是"恩智浦B站首支原创视频播放量破万",公司Marcom部门特地群发了这个邮件给全体员工,并鼓励大家积极DIY工作相关的有趣视频,为公司这个萌新 ...