鱼C论坛

 找回密码
 立即注册
查看: 4025|回复: 8

【第2篇】hello world一个简单的驱动

[复制链接]
发表于 2016-8-11 12:24:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

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位系统下如何加载驱动、

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +5 收起 理由
~风介~ + 5 + 5 + 5 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-11 13:07:36 | 显示全部楼层
谢谢楼主热心分享,希望楼主能尽是多出这类教程,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-12 21:42:14 | 显示全部楼层
驱动开发是梦幻般的存在啊!@小甲鱼 @无符号整形
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-12 22:00:14 From FishC Mobile | 显示全部楼层
~风介~ 发表于 2016-8-12 21:42
驱动开发是梦幻般的存在啊!@小甲鱼 @无符号整形

以前想学但wdk安装不了就……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-12 23:17:56 | 显示全部楼层
无符号整形 发表于 2016-8-12 22:00
以前想学但wdk安装不了就……

光配置环境就搞死一大堆了人了。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-12 23:19:23 | 显示全部楼层
~风介~ 发表于 2016-8-12 23:17
光配置环境就搞死一大堆了人了。。。。

对。。。我打算先学完逆向再学驱动
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-12 23:28:37 | 显示全部楼层
无符号整形 发表于 2016-8-12 23:19
对。。。我打算先学完逆向再学驱动

好好学,看好你哦~

点评

嗯  发表于 2016-8-12 23:29
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-16 14:01:29 | 显示全部楼层
网上有一个叫EasySYS的软件,可以很方便的开发驱动,推荐大家使用。
不过用这个软件创建好之后会有一堆代码,大家可以选择性地删除代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 09:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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