下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 2482|回复: 6
打印 上一主题 下一主题

你的秘密藏不住:深入了解INF文件(1)

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-4-22 15:02:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家都知道,在“我的电脑”里有数也数不清的INF文件,但是却很少有人知道,INF文件是干什么用的。充其量,也仅仅停留在INF文件能够解开锁定的注册表这一感性的认识上,那么到底什么是INF文件,INF文件又能干些什么呢?今天让我们一起走进INF文件这一神秘的世界。
% C1 q4 B( r7 p2 H  j3 o  揭开INF文件的神秘面纱 . v8 ^3 s$ O7 x$ W
  INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息等等。 安装监视器、调制解调器和打印机等设备所需的驱动程序,都是通过INF文件,正是INF的功劳才使得Windows可以找到这些硬件设备的驱动并正确安装。当我们通过“开始→控制面板→添加删除程序→Windows安装程序”来添加系统组件的时候,INF文件将会自动调用。而在其他场合下,则需要在INF文件上点击鼠标右键,然后选择“安装”,你才能顺利安装应用程序。  
8 T1 D. r! Z/ D0 o+ C2 X  在C:/Windows/INF文件夹中存放有大量的INF文件。该文件夹一般处在隐含状态,如果你想查看该文件夹,可选择“查看→文件夹选项→查看”,然后在“文件和文件夹”选项下选择“显示所有文件”。 . x4 q% E. f7 J8 [" H4 u
  解剖INF文件的结构
0 x! h5 Y5 g/ O3 Y( k, }2 L  INF文件其实是一种纯文本文件,可以用任意一款文本编辑软件来打开进行编辑,如:记事本、写字板等。INF文件有一整套的编写规则,每一个INF文件都是严格按照这些规则来编写的。 2 w& Q* |1 [2 [2 @8 O- t/ a+ t+ c
  *规则一:INF文件是分节的,每一个INF文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有一些是用户自定义的。每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。
8 c0 P5 w9 E7 {" K0 ^' h& U6 `  *规则二:在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature="$CHICAGO$"”的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。
0 l4 v* W( I; ?  D  *规则三:INF文件对大小写不敏感。
/ d( w* J4 x& {  *规则四:“;”号后面的内容为注释。 1 G* Y% p( b" i3 O9 N
  *规则五:如果一个条目的内容过多,在一行无法书写完全,则用“\”将一行内容书写为多行。 6 G5 V4 q6 M% p" g. c3 X8 N4 e
  明白了INF文件的规则后,让我们一起来解剖INF文件的结构。/ G" p. E6 g7 \6 N) A/ t
 1.Version节 1 F8 w' @* ^# }% C
  每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。在该节中如果出现“signature="$CHICAGO$"”这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,如果包含“signature="$Windows NT$"”这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。
0 t6 H  M" W, U0 H" _  另外,该节中“CLASS”条目很重要,它表明了设备的类型,常见的类型有:Display(显示设备,如显卡)、Media(多媒体设备,如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer(打印设备)、Image(图像捕获设备,如摄像头)。 6 C* b! O/ L& q4 C1 @
  2.Manufacturer节 $ o2 A3 U2 {. F- s/ X7 [
  该节中的条目主要是描述INF文件可以识别的所有硬件设备,其中包含有设备的生产厂家,以便设备的正确安装。如“%ATi%=ATi”指明设备的生产商为“ATi”,这个大家都不会陌生吧,是显卡的生产商。 2 K/ x' \2 J3 l& W3 E6 x3 [3 O
  3.SourceDisksNames节 2 Z7 ~! M9 I3 [
  该节主要指明安装文件所在的介质。如:“1="ATi Drivers Release CD"”表明所有驱动程序都在零售版的CD盘上。
4 v  ?; T) [7 B) n  4.SourceDiskFiles节 : B/ l. z1 y, p" `- k: g# s7 v+ R+ R, ?/ u
  驱动程序文件列表及被安装的位置,该节必须结合[SourceDisksNames]节才能知道具体的位置。如“atinbtxx.sys=1”,则你必须到[DestinationDirs]节去查看“1”具体代表那个位置。 ! s3 c" A4 O2 p; {9 w$ ^4 E
  5.DestinationDirs节 7 K" W. D) l* z, ^/ G( g
  INF文件会指示安装程序在安装的过程中,将一些文件复制到硬盘上,或者将硬盘上的一些文件删除、重命名等。该节即指定了为实现上述目的的文件所在的目的路径。
: Q4 Z, p' ^. e2 C! _  6.DefaultInstall节和Install节
- h# Z0 A: t! c! t0 c# s  在这一节中描述了设备驱动程序与硬件设备的实际属性。默认情况下,首先执行[DefaultInstall]节,该节指定了要复制或删除的文件,注册表的更新,INF文件的更新等等信息,同时又包含指向其他节的指针。
( |! s- A( u7 q! v( h4 H' C  7.String节 * l4 h7 Z! Q* w7 T
  这一节中定义了字符串变量
: n' U# t' Y+ P" ]& s,当某些字符串频繁地出现在INF文件中,为简化输入,可以在该节中定义一个字符串变量,代表该字符串出现在INF文件中。0 f7 J# l: Y% A2 j; W6 l7 p' ?
读懂INF文件
" z3 ~& c, y6 Y2 V& u; y0 O
8 b; `# d8 M1 g6 c  M6 P  下面让我们以ATi显卡的用于Windows XP的WDM驱动程序为例来说明一下INF文件的具体含义,由于INF文件往往很长,为了说明方便,我们删除了一些大部分的信息,仅保留一个INF文件的结构,如图1所示。
) I3 ^$ i4 o4 J$ r
5 _* w2 q6 B; N  
' _1 K' s2 c4 u  u$ V8 M- c: L
7 I) w' a' @8 n5 V4 ]: ^  
4 U2 @9 l9 y- n% }4 J1 Z
7 U' h- S% K$ Y4 p  INF文件精彩实例 , G) w8 s" `, o9 h
# _. K. ?2 O! Z  ~/ w3 f  N  {+ _
  光说不练不行,下面让我们来看几个INF文件的典型应用。 8 t# I0 r4 Q, }, Q0 B2 U3 E; o8 x
9 ?7 {6 I, \8 i$ n# B+ n/ n
  1.打开“锁”定的注册表 8 F8 J; F! A7 A6 K, h/ Z0 b9 B6 l
  R; u$ M! _  v& `( _# M
  第一步:打开记事本程序,输入以下内容:
0 Q  G# I: k0 f0 s: m+ {/ ^, {8 ?8 ~+ E4 o+ r7 p, b" O) O$ c
  [version] : `  t; e9 N1 D' B$ K+ |/ V
- w1 G% X9 I; _* y: b+ q
  signature=”$chicago$” / U/ b/ H6 A; h

; _0 Y3 Q8 ~- Q1 ^/ h% r7 E  [defaultinstall]   C% G/ `# [5 ~# |: S/ g
/ Z8 _" W) I2 U, H
  delReg=DeleteMe 0 B& b/ l& a8 d9 n7 l
' u' k+ \: i4 K, Y9 i
  [DeleteMe] 1 P1 m, I5 ~8 E: W

( B6 k( c9 ?2 C  M" W" K' O: ]  HKCU,“Software\Microsoft\Windows\CurrentVersion\Policies\System”,“DisableregstryTools” 7 Q6 Z- `& y) H

3 O# _$ j: J& f, x4 C+ c  `7 j1 w+ Z, H  HKLM,“Software\Microsoft\Windows\CurrentVersion\Policies\System”,“DisableregstryTools” $ H" _- s% V$ ]' O4 ]6 s

0 Z; x- E6 x. e8 [. }  输入完毕,另存为UNLOCK.INF,名字任取,扩展名必须是INF。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

2
发表于 2005-4-22 16:46:00 | 只看该作者
呵呵 这个没怎么研究过 看看先~

该用户从未签到

3
 楼主| 发表于 2005-4-22 18:02:00 | 只看该作者
那就好好看看!

该用户从未签到

4
发表于 2005-4-23 21:00:00 | 只看该作者
好长滴说~~

该用户从未签到

5
 楼主| 发表于 2005-4-26 21:20:00 | 只看该作者
你还没有看(2),(3)呢!!!

该用户从未签到

6
发表于 2005-4-27 19:38:00 | 只看该作者
呵呵  其实现在的大部分驱动都做成 安装程序形式了  exe 比inf方便多了~!

该用户从未签到

7
 楼主| 发表于 2005-4-29 20:38:00 | 只看该作者
的确如此!!!

本版积分规则

关闭

下沙大学生网推荐上一条 /1 下一条

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