马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 lx_Zz 于 2016-8-11 14:03 编辑
这一篇带大家写一个hello world走进内核编程的大门、
首先有一个概念、32位系统和64位系统需要对应的32位驱动和64位驱动才能加载、就是说你的系统是多少位的驱动就要编译成多少位的、
由于是第一个例子、尽量讲的详细点、把每个细节都考虑到、希望不要嫌啰嗦、
其实很简单、上一篇讲的那些工具、这一篇都先不用、让大家感受一下hello world的魅力、
在虚拟机里安装的32位系统下、
写代码
1、在桌面或者其他地方新建一个文件夹、命名为hello world、
2、在文件夹里新建一个记事本、命名为hello.c、
3、在计算机里搜索makefile文件、C盘或者安装wdk7.1的文件夹里有、只要是名称为makefile的文件就行、因为系统里的makefile文件内容几乎都是一样的、注意是没有后缀名的、
4、将makefile文件拷贝到hello world文件夹下、
5、在hello world文件夹下新建一个记事本、打开记事本写入下面的代码、后面再讲解代码的含义、TARGETNAME = hello
TARGETTYPE = DRIVER
SOURCES = hello.c
6、保存记事本里的内容、并将记事本名称改为sources、注意没有后缀名、
7、用记事本打开hello.c、写入下面代码、#include <ntddk.h>
VOID DriverUnload(PDRIVER_OBJECT driver) {
DbgPrint("our driver is unloading...");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegistryPath) {
DbgPrint("hello world!");
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}
8、保存之后在开始菜单找到Windows driver kits/WDK 7600.16385.1/build environments/windows 7、选择x86 checked build environment、然后出现一个命令行窗口、右键hello world文件夹查看属性、复制地址、然后cd c:、然后cd 粘贴地址、然后cd hello word、然后build、
9、这时在hello world文件夹下有一个hello.sys就是我们生成的驱动程序了、
10、打开驱动加载器InstDrv、将hello.sys文件拖到加载器界面上、
11、打开DbgView、工具栏点开capture、将capture kernel选上、
12、驱动加载器、点击安装、启动、停止、卸载、就能看打DbgView上的调试消息显示了、
好了、因为没图的原因、所以如果遇到什么问题、在帖子下留言、我给更新完善这个内容、
下一篇来分析一下代码、和这个操作过程的原理、再接着讲64位系统下如何加载驱动、 |