前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WDK7600编译器环境配置

WDK7600编译器环境配置

作者头像
IBinary
发布2020-06-09 10:49:30
1.6K0
发布2020-06-09 10:49:30
举报
文章被收录于专栏:逆向技术逆向技术

Wdk7600 驱动开发环境配置

一丶简介

在X64纵横的年代.很多人都直接使用VS+WDK配套的环境去开发驱动了. 这样是好事.说明驱动开发更快捷了.但是你开发的驱动是不能兼容所有系统的. 如XP 很多人说XP已经淘汰了.兼容不兼容无所谓了.

这样也可以.说明你没有需求.没有需求是在XP下运行你的驱动. 这里也简单说下. WDK7600配置好的环境.编译出的驱动. 是可以在xp - win10下跑的.也能更加兼容.

二丶WDK7600的下载与安装.

2.1 WDK下载

去MSDN https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads 去下载即可.

拖动到最下方

或者去我的百度网盘下载: 链接:https://pan.baidu.com/s/16ZVDcc_dTq0QzDoKicoX8g 提取码:xtl3 复制这段内容后打开百度网盘手机App,操作更方便哦

2.2 WDK安装

WDK7600 是一个ISO文件,win10下直接安装即可. 在win7下你需要下载一个虚拟镜像的软件.进行安装.

我的度盘下载

链接:https://pan.baidu.com/s/16BvhbmaJTQZ0HFv6dDVKCQ 提取码:e757

然后根据提示一步一步安装即可.

三丶SOURCES 文件的解析

3.1 SOURCES

在WDK7600的年代下.开发驱动都是 找个编辑器写代码.然后利用WDK编译器进行编译的.

而SOURCES则是指明你编译的驱动的各种信息.

如下:

TARGETNAME=你编译之后驱动的名字
TARGETPATH=你编译之后驱动存放在哪里的路径
TARGETTYPE=指明你编译的驱动的类型
INCLUDES=XXXinc
PRECOMPILED_INCLUDE=precomp.h
DRIVERTYPE=指明了驱动类型
TARGETLIBS=指明你编译的代码用所用的LIB库的路径
MSC_WARNING_LEVEL=指明代码的严谨程度,4是警告视为错误
AMD64_SOURCES=指明X64下的asm文件 
SOURCES=指明你的驱动源代码

示例如下:

TARGETNAME=FistDriver
TARGETPATH=release
TARGETTYPE=DRIVER
INCLUDES=XXXinc
PRECOMPILED_INCLUDE=precomp.h
DRIVERTYPE=FS
TARGETLIBS==$(TARGETLIBS) \
	        $(DDK_LIB_PATH)\abc.lib
MSC_WARNING_LEVEL=/W4/WX
AMD64_SOURCES=a.asm \
              b.asm
SOURCES=a.c \
        b.c

上面的意思如下:

1.指明我编译之后,驱动的名字为 FristDriver

2.指明了我编译之后把驱动放在Debug目录下

3.指明了我编译的类型是驱动类型

4.指明了我要包含的inc文件

5.指明了我要编译的.h文件

6.指明了驱动类型

7.指令了我要把abc.lib编译到驱动中

8.指明了警告等级为4级,警告视为错误.

9.因为x64下代码中不能内联汇编了.所以必须提供单独的asm文件.这个字段是可以指定单独的文件

10.指明了我要编译的驱动代码有 main.c 1.c 2.c 这里我用 \分割 多个文件就用多个\分割

以上是列出的字段. 其实编写简单的子段就可以编译驱动.其余的可以省略

如下:

TARGETNAME=Frist
TARGETPATH=Release
TARGETTYPE=DRIVER

SOURCES=FristHello.c

关于字段的详解了解,可以参考如下文章.

https://www.cnblogs.com/spinsoft/archive/2012/06/16/2551883.html

四丶MakeFile

对于驱动来说,一个要提供一个MakeFile文件. 关于MarkFile 网络上也很多讲的.但是编译驱动一般给一个就行.是不变的.

!IF 0

Copyright (C) Microsoft Corporation, 1999 - 2002

Module Name:

    makefile.

Notes:

    DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source
    file to this component.  This file merely indirects to the real make file
    that is shared by all the components of Windows NT (DDK)

!ENDIF

!INCLUDE $(NTMAKEENV)\makefile.def

五丶WDK编译程序

安装好的WDK都在菜单有一个命令行. 只需要打开命令行键入命令即可.

界面如下:

我们编写的平台一般是x86与x64平台. 所以不要选择 ia64

而两个平台也各有一个 debug编译模式与 release模式. (checked 是Debug模式) (Free 是 Release模式) 根据自己的选择即可

命令如下:

切换到你的源码目录 输入 bld 编译所有的源码文件

六丶 win7下 DebugView不显示调试信息

在xp下.我们想看驱动里面的DbgPrintf输出的信息.直接打开DebugView即可.

在win7及以上需要管理员启动.并且选择监视核心输出. 但是这样还没发输出.那么我们就需要修改注册表.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]
"DEFAULT"=dword:0000000f

将以上信息复制到文件.后缀名改为reg 运行即可.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Wdk7600 驱动开发环境配置
  • 一丶简介
  • 二丶WDK7600的下载与安装.
    • 2.1 WDK下载
      • 2.2 WDK安装
      • 三丶SOURCES 文件的解析
        • 3.1 SOURCES
        • 四丶MakeFile
        • 五丶WDK编译程序
        • 六丶 win7下 DebugView不显示调试信息
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档