首页
社区
课程
招聘
[原创][成果3.2]inf文件的编写
发表于: 2008-1-2 15:19 25778

[原创][成果3.2]inf文件的编写

2008-1-2 15:19
25778

这部分主要讲解inf文件的编写,其实inf文件不仅仅可以用来做为安装驱动使用,还有很多其他用法,这里就不涉及了,先讲下inf的语法,这些语法都是google上有的。

inf文件其实是一种纯文本文件,可以用任意一款文本编辑软件来打开进行编辑。inf是不区分大小写的。

inf中包含各节的含义:
1、 Version节

  每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。在该节中如果出现"signature=" $CHICAGO$""这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,如果包含"signature="$Windows NT$""这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。
包含在version中class说明了设备的类型,常见的类型有: Display(显示设备,如显卡)、Media(多媒体设备,如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer (打印设备)、Image(图像捕获设备,如摄像头)。

2.Manufacturer节
  该节中的条目主要是描述INF文件可以识别的所有硬件设备,其中包含有设备的生产厂家,以便设备的正确安装。如"%ATi%=ATi"指明设备的生产商为"ATi",这个大家都不会陌生吧,是显卡的生产商。

3.SourceDisksNames节

  该节主要指明安装文件所在的介质。如:"1="ATi Drivers Release CD""表明所有驱动程序都在零售版的CD盘上。

4.SourceDiskFiles节
  驱动程序文件列表及被安装的位置,该节必须结合[SourceDisksNames]节才能知道具体的位置。如"atinbtxx.sys=1",则你必须到[DestinationDirs]节去查看"1"具体代表那个位置。

5.DestinationDirs节
  INF文件会指示安装程序在安装的过程中,将一些文件复制到硬盘上,或者将硬盘上的一些文件删除、重命名等。该节即指定了为实现上述目的的文件所在的目的路径。

6.DefaultInstall节和Install节
  在这一节中描述了设备驱动程序与硬件设备的实际属性。默认情况下,首先执行[DefaultInstall]节,该节指定了要复制或删除的文件,注册表的更新,INF文件的更新等等信息,同时又包含指向其他节的指针。

7.String节
  这一节中定义了字符串变量,当某些字符串频繁地出现在INF文件中,为简化输入,可以在该节中定义一个字符串变量,代表该字符串出现在INF文件中。

(以上解释内容来自886K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4u0G2j5i4u0K6L8$3k6@1i4K6u0W2L8X3g2@1i4K6u0r3k6r3W2K6M7p5q4J5N6r3W2U0L8r3g2Q4x3X3g2S2M7%4m8Q4x3@1k6T1L8$3q4J5k6r3W2V1i4K6y4p5x3K6c8Q4x3U0k6m8M7Y4c8A6j5$3I4W2d9f1c8Q4x3@1b7&6x3U0l9H3i4@1g2r3i4@1u0o6i4K6R3&6
这是inf文件的基本语法了。现在来看具体的inf文件的写法,我在这里写了一个最简单的helloworld驱动,其功能就是打印了一句“hello world”。可以通过dbgview观察。这个inf就是为了安装helloworld这个驱动。
下面是inf文件:


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (22)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
终于比较清楚的了解这个东东
2008-1-4 10:09
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
3
thank you
每天学习一点新东西
每天明白一点旧东西
2008-1-4 11:42
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
好,全部收藏
2008-1-4 16:35
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习了
终于弄清楚了 inf里面的字节的意思
2008-11-16 22:25
0
雪    币: 175
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感激不尽,无以言表
2008-12-25 11:05
0
雪    币: 137
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
只需要右键该文件,然后点击“安装”,就可以安装成功了,
由于需要手动启动,所以需要在cmd下运行net start helloworld,helloworld是我们服务的名称,就可以看到启动成功了。
在启动服务前,先打开dbgview,就可以看到如下信息:
可以看到服务已经启动成功了,也就是说,驱动已经成功加载了!
/////////
这里的叙说颠三倒四,
我试了,

1、先打开DBGVIEW,
2、然后运行INF,运行INF后能把SYS文件复制到系统中,
3、再启动服务,DBGVIEW中仍然没有显示HELLO WORLD


在WIN2003主机和虚拟机XP中都是一样的,没有任何显示,
2009-2-28 17:13
0
雪    币: 137
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
好了,应该是DBGVIEW中的监视没有打开正确的两个选项的原因。现在有了。
2009-3-1 15:28
0
雪    币: 559
活跃值: (354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
学习了
2009-3-1 17:46
0
雪    币: 270
活跃值: (132)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
呵呵,学习了现在貌似有些所谓的驱动级病毒,

是不是就是应用了这个东东,嘿嘿
2009-3-28 09:26
0
雪    币: 400
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习了.谢谢
2009-4-20 10:45
0
雪    币: 387
活跃值: (25)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
12
very good, very powerful
2009-5-1 22:57
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
终于认识到inf的结构了
多谢
2009-5-31 14:57
0
雪    币: 139
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
very good
2009-6-18 22:13
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
下一个学习一下
2010-3-31 16:30
0
雪    币: 122
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
嗯,学习中,autorun是个好例子!
2010-12-3 23:58
0
雪    币: 86
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
收藏了收藏了
2010-12-4 00:04
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习完毕。哈哈。
2010-12-8 20:42
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
收藏了……谢谢分享
2011-6-12 15:00
0
雪    币: 163
活跃值: (75)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
20
其实就是写了些注册表,复制了些文件什么 的~
2011-6-12 16:19
0
雪    币: 64
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
感谢,一直都找不到这方面的资料
2011-6-26 11:03
0
雪    币: 346
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
22
第一次找到这么详细讲解inf文件的。
2016-4-10 23:29
0
雪    币: 174
活跃值: (62)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
mark一下
2017-6-30 10:33
0
游客
登录 | 注册 方可回帖
返回