青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

如何編寫 INF 文件

INF文件全稱Information File文件,是Winodws操作系統下用來描述設備或文件等數據信息的文件。INF文件是由標準的ASCII碼組成,您可以用任何一款文字編輯器查看修改其中的內容。一般我們總是認為INF文件是系統設備的驅動程序,其實這是錯誤的認識,Windows之所以在安裝某些硬件的驅動時提示需要INF文件是因為INF文件為該設備提供了一個全面描述硬件參數和相應驅動文件(DLL文件)的信息。就好比我們看著說明書安裝電腦硬件一樣,我們就是Windows系統,說明書就是INF文件。INF文件功能非常強大,幾乎能完成日常操作的所有功能。您可以把它看成是Windows系統底下的超強批初理。要熟練掌握和理解甚至是編寫INF文件需要對其內部結構有相當的認識。下面就讓我們來深入到INF文件中的內部一窺其真面貌吧! 
 

INF文件的組成有節(Sections),鍵(Key)和值(value)三部分。 
關鍵節有 
[Version]版本描述信息,主要用于版本控制。 
[Strings]字符串信息,用于常量定義。 
[DestinationDirs]定義系統路徑信息。 
[SourceDisksNames]指明源盤信息。 
[SourceDisksNames]指明源盤文件名。 
[DefaultInstall]開始執行安裝。 
其它的節可以自定義,下面用一實例來具體講解。 


程序代碼 
[Version] 
Signature
=$Chicago$ 
Provider
=%Author% 

[Strings] 
Product
="添加文件關聯演示" 
Version
="1.0" 
Author
="Xunchi" 
Copyright
="Copyright 2005" 
CustomFile
="inf" ;修改您需要的文件名后綴 
Program="NOTEPAD.EXE" ;修改您需要關聯的應用程序名 

[Add.Reg] 
HKCR
,"."%CustomFile%,"",FLG_ADDREG_TYPE_SZ ,%CustomFile%File 
HKCR
,%CustomFile%File,"",FLG_ADDREG_TYPE_SZ,安裝信息 
HKCR
,%CustomFile%"File\shell","",FLG_ADDREG_TYPE_SZ,open 
HKCR
,%CustomFile%"File\shell\open\command","",FLG_ADDREG_TYPE_SZ,%program% %1 

[DefaultInstall] 
AddReg
=Add.Reg 

  在
[Version]節中"Signature"項定義了該INF文件需要運行在何種操作系統版本中。有$Windows NT$, $Chicago$, or $Windows 95$三個值供選擇,一般選擇$Chicago$即可。項Provider中定義了該文件的創作來源,%Author%指引用Author項的值。您也可自定其它項來描述該INF文件的版本信息。該INF文件的作用是關聯文件,所以主要是對注冊表的操作,我們來看[Add.Reg]節,共四條語句,格式都是一樣。HKCR表示根HKEY_CLASSES_ROOT,第二個參數是子鍵的路徑名,第三個參數是表明值的類型,最后是值(具體見附表)。以上都是對操作的定義與過程,在節[DefaultInstall]中是開始執行要安裝的流程,AddReg表明是對注冊表進行操作,操作對象是Add.Reg節中的定義。如果您把AddReg換成DelReg則是刪除注冊表中的鍵值。當鼠標單擊該INF文件在彈出的菜單中選擇“安裝”就開始執行您所定義的操作。該示例在系統的INF文件右鍵菜單中增加了查看編輯功能并設置了默認動作,因為在安裝了不了解的INF文件有可能對系統產生不良的影響,這樣雙擊文件就可打開編輯該文件了。 


  再看看INF文件在文件操作方面的能力吧。請看下面的一個例子。 

程序代碼 
[Version] 
Signature
=$Chicago$ 
Provider
=%Author% 
[Strings] 
Product
="文件復制和安裝演示" 
Version
="1.0" 
Author
="Xunchi" 
Copyright
="Copyright 2005" 

[FileList] 
ProcessList.exe 
;此文件已在當前目錄下,下同。 

[FileList1] 
Wordpad.exe 
[DestinationDirs] 
FileList
=11 ;安裝到Windows的系統目錄 
FileList1=10 ;安裝到Windows目錄 
[DefaultInstall] 
Copyfiles
=FileList,FileList1 

  相同的節的作用與上一例類似,請注意新出現的節
[FileList],這是我自定義的節名,它表示了一個文件組,[FileList1]也類似。在節[DestinationDirs]中需定義每個文件組復制到的目錄(各個常量的意義見附表)。Copyfiles指明了需要進行復制的文件組。 
  INF文件的操作還包括服務(NT系統)程序的安裝和卸載,INI文件的轉換等。由于這些操作都比較的復雜和繁瑣,且有一定的危險性故下次有機會再向大家進行深入探討。 
  最后我們來看一下INF文件的執行機制,這時你也許要問不就是簡單的執行一下“安裝”嗎?知其然不知其所以然知識水平是不會提高的。在“文件夾選項”中的“文件類型”找到INF文件的“安裝”命令看到一串命令。“rundll32.exe setupapi
,InstallHinfSection DefaultInst_all 132 %1”它表示了運行Dll文件setupapi.dll中的命令InstallHinfSection并傳遞給它起始節的名字 DefaultInstall。可見起始節是可以自定義的。INF文件的執行也可用在各種支持API調用的編程工具中。至此INF文件的結構和運行機制我們已基本了解,現在就讓你的思維開動起來,讓它更好的為我們工作吧。 


注冊表操作的常量定義: 
---------------------------------------------------------- 
常量 根值 
HKCR HKEY_CLASSES_ROOT. 
HKCU HKEY_CURRENT_USER. 
HKLM HKEY_LOCAL_MACHINE. 
HKU HKEY_USERS. 
----------------------------------------------------------- 
FLG_ADDREG_APPEND 在多字符串后添加字符 
FLG_ADDREG_TYPE_SZ 字符類型 
FLG_ADDREG_TYPE_MULTI_SZ 字符串類型 
FLG_ADDREG_TYPE_EXPAND_SZ 擴展字符串類型 
FLG_ADDREG_TYPE_BINARY 二進制值 
FLG_ADDREG_TYPE_DWORD DWord值 
FLG_ADDREG_TYPE_NONE NULL值 
---------------------------------------------------------- 


[DestinationDirs]節中所定義的常量路徑 
---------------------------------------------------------- 
01 源目錄(后跟路徑) 
10 Windows目錄 
11 Windows系統目錄 
12 驅動目錄 
17 INF文件目錄 
18 幫助文件目錄 
20 字體目錄 
21 根目錄 
24 應用程序目錄 
25 共享目錄 
30 當前根目錄 
50 System目錄 
51 Spool 目錄 
52 Spool 驅動目錄 
53 用戶配置目錄 
---------------------------------------------------------- 

[DefaultInstall]節中定義的操作 
---------------------------------------------------------- 
LogConfig Log日志文件配置 
Copyfiles 復制文件 
Renfiles 文件改名 
Delfiles 刪除文件 
UpdateInis 更新Inis 
UpdateIniFields 更新Ini字段 
AddReg 添加注冊項 
DelReg 刪除注冊項 
Ini2Reg Ini文件轉換為Reg文件 
----------------------------------------------------------- 


INF文件應用示例
一、修改telnet服務,端口改為99,NTLM認證方式為1。 
=============================== 
 

C:\myinf\Telnet.inf 

[Version] 
Signature
="$WINDOWS NT$" 
[DefaultInstall] 
AddReg
=AddRegName 
[My_AddReg_Name] 
HKLM
,SOFTWARE\Microsoft\TelnetServer\1.0,TelnetPort,0x00010001,99 
HKLM
,SOFTWARE\Microsoft\TelnetServer\1.0,NTLM,0x00010001,1 

安裝:rundll32.exe setupapi
,InstallHinfSection DefaultInstall 128 c:\myinf\telnet.inf 

說明:
[Version][DefaultInstall]是必須的,0x00010001表示REG_DWORD數據類型,0x00000000或省略該項(保留逗號)表示REG_SZ(字符串)。0x00020000表示REG_EXPAND_SZ。 
InstallHinfSection是大小寫敏感的。它和setupapi之間只有一個逗號,沒有空格。128表示給定路徑,該參數其他取值及含義參見MSDN。 
特別注意,最后一個參數,必須是inf文件的全路徑,不要用相對路徑。 
inf文件中的項目都是大小寫不敏感的。 

二、服務 
=============== 

增加一個服務: 

[Version] 
Signature
="$WINDOWS NT$" 
[DefaultInstall.Services] 
AddService
=inetsvr,,My_AddService_Name 
[My_AddService_Name] 
DisplayName
=Windows Internet Service 
Description
=提供對 Internet 信息服務管理的支持。 
ServiceType
=0x10 
StartType
=2 
ErrorControl
=0 
ServiceBinary
=%11%\inetsvr.exe 

保存為inetsvr.inf,然后: 

rundll32.exe setupapi
,InstallHinfSection DefaultInstall 128 c:\path\inetsvr.inf 

這個例子增加一個名為inetsvr的服務(是不是很像系統自帶的服務,呵呵)。 

幾點說明: 
1,最后四項分別是 
服務類型:0x10為獨立進程服務,0x20為共享進程服務(比如svchost); 
啟動類型:
0 系統引導時加載,1 OS初始化時加載,2 由SCM(服務控制管理器)自動啟動,3 手動啟動,4 禁用。 
(注意,0和1只能用于驅動程序) 
錯誤控制:
0 忽略,1 繼續并警告,2 切換到LastKnownGood的設置,3 藍屏。 
服務程序位置:%
11%表示system32目錄,%10%表示系統目錄(WINNT或Windows),%12%為驅動目錄system32\drivers。其他取值參見DDK。你也可以不用變量,直接使用全路徑。 
這四項是必須要有的。 
2,除例子中的六個項目,還有LoadOrderGroup、Dependencies等。不常用所以不介紹了。 
3,inetsvr后面有兩個逗號,因為中間省略了一個不常用的參數flags。 

刪除一個服務: 

[Version] 
Signature
="$WINDOWS NT$" 
[DefaultInstall.Services] 
DelService
=inetsvr 

很簡單,不是嗎? 

當然,你也可以通過導入注冊表達到目的。但inf自有其優勢。 
1,導出一個系統自帶服務的注冊表項,你會發現其執行路徑是這樣的: 
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,74,
00,6c,00,6e,00,74,00,73,00,76,00,72,00,2e,00,65,00,78,00,65,00,00,00 
可讀性太差。其實它就是%SystemRoot%\system32\tlntsvr.exe,但數據類型是REG_EXPAND_SZ。當手動導入注冊表以增加服務時,這樣定義ImagePath顯然很不方便。如果用REG_SZ代替會有些問題——不能用環境變量了。即只能使用完整路徑。用inf文件完全沒有這個問題,ServiceBinary(即ImagePath)自動成為REG_EXPAND_SZ。 
2,最關鍵的是,和用SC等工具一樣,inf文件的效果是即時起效的,而導入reg后必須重啟才有效。 
3,inf文件會自動為服務的注冊表項添加一個Security子鍵,使它看起來更像系統自帶的服務。 

另外,AddService和DelService以及AddReg、DelReg可以同時且重復使用。即可以同時增加和刪除多個服務和注冊表項。 

三、組策略 
========== 

1、密碼最小6位 
[version] 
signature
="$CHICAGO$" 
[System Access] 
MinimumPasswordLength 
= 6 
PasswordComplexity 
= 1 

保存為gp.inf,然后導入: 
secedit /configure /db gp.sdb /cfg gp.inf /quiet 


2、關閉所有的“審核策略 

echo 
[version] >1.inf 
echo signature
="$CHICAGO$" >>1.inf 
echo 
[Event Audit] >>1.inf 
echo AuditSystemEvents
=0 >>1.inf 
echo AuditObjectAccess
=0 >>1.inf 
echo AuditPrivilegeUse
=0 >>1.inf 
echo AuditPolicyChange
=0 >>1.inf 
echo AuditAccountManage
=0 >>1.inf 
echo AuditProcessTracking
=0 >>1.inf 
echo AuditDSAccess
=0 >>1.inf 
echo AuditAccountLogon
=0 >>1.inf 
echo AuditLogonEvents
=0 >>1.inf 
secedit /configure /db 
1.sdb /cfg 1.inf /log 1.log /quiet 
del 
1.* 


四、解決XP ipc$連接只有Guest權限 
==================== 

echo 
[version] >1.inf 
echo signature
="$CHICAGO$" >>1.inf 
echo 
[Registry Values] >>1.inf 
echo MACHINE\System\CurrentControlSet\Control\Lsa\ForceGuest
=4,0 >>1.inf 
secedit /configure /db 
1.sdb /cfg 1.inf /log 1.log 
del 
1.*



注:   

00 Null LDID - 可用于創建新的 LDID
01 Source Drive:\pathname
10 Windows 文件夾(等價于%windir%目錄 )
11 System32 文件夾
12 IOSubsys 文件夾
13 Command 文件夾
17 Inf 文件夾
18 Help 文件夾
20 Fonts
21 Viewers
22 VMM32
23 Color 文件夾
24 包含 Windows 文件夾的驅動器根目錄
28 Host Winboot
30 啟動盤的根文件夾
31 虛擬啟動盤的主驅動器根文件夾
......
16422 Programs Files文件夾

posted on 2008-06-18 14:33 大龍 閱讀(486) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩不卡一区| 国产伦精品一区二区三| 亚洲国产日韩欧美| 欧美国产精品一区| 欧美激情影院| 午夜精品三级视频福利| 午夜精品福利一区二区三区av| 国产午夜精品一区理论片飘花| 久久精品日产第一区二区三区| 久久精品视频免费| 亚洲成人在线| 日韩一级精品视频在线观看| 国产精品免费福利| 老司机久久99久久精品播放免费| 欧美freesex8一10精品| 亚洲综合色在线| 久久精品成人| 一本色道久久综合亚洲精品不| 亚洲午夜精品| 韩日在线一区| 99精品视频一区二区三区| 国产日产欧美一区| 亚洲国内在线| 国产日韩欧美三级| 91久久国产综合久久蜜月精品| 欧美亚洲第一区| 麻豆精品在线观看| 欧美激情一区二区三区高清视频| 性久久久久久久久久久久| 久久久久久久一区二区三区| 亚洲视频在线免费观看| 久久激情一区| 亚洲一区二区高清| 另类天堂视频在线观看| 亚洲欧美资源在线| 欧美黄在线观看| 久久影视三级福利片| 欧美日韩国产美女| 免费毛片一区二区三区久久久| 国产精品护士白丝一区av| 巨乳诱惑日韩免费av| 国产精品大片| 亚洲精品一区二| 亚洲东热激情| 久久精品国产一区二区三区| 亚洲一区二区三区四区在线观看| 毛片基地黄久久久久久天堂 | 久久综合国产精品| 午夜一区在线| 欧美日韩精品二区第二页| 免费在线一区二区| 国产日韩在线亚洲字幕中文| av成人免费观看| 日韩视频一区| 欧美成人高清| 欧美成人在线网站| 影音先锋亚洲一区| 久久精品国产一区二区三区免费看 | 亚洲视频中文| 日韩午夜剧场| 欧美福利一区二区| 亚洲第一中文字幕| 亚洲国产综合在线| 免费成人美女女| 欧美夫妇交换俱乐部在线观看| 韩国三级电影久久久久久| 亚洲欧美日韩中文视频| 亚洲免费视频成人| 国产精品午夜在线| 亚洲欧美日韩直播| 久久精品综合一区| 黄色一区二区在线| 久久婷婷色综合| 亚洲第一偷拍| 一区二区三区免费看| 欧美日韩三级在线| 亚洲影院高清在线| 久久不射电影网| 韩国女主播一区| 你懂的视频一区二区| 亚洲国产精品视频| 亚洲私拍自拍| 国产亚洲一区在线| 欧美成人一区二区三区在线观看| 亚洲免费电影在线观看| 亚洲综合日韩中文字幕v在线| 国产乱码精品一区二区三区五月婷| 亚洲字幕一区二区| 久久尤物视频| 亚洲精品视频在线观看网站 | 性久久久久久久| 久久影视三级福利片| 亚洲茄子视频| 国产精品久久久久久久久久久久久 | 99热在这里有精品免费| 欧美一区二区三区在线观看视频| 韩日欧美一区二区| 欧美 日韩 国产在线| 亚洲一区二区三区欧美| 久久亚洲私人国产精品va| 亚洲精品在线视频| 国产精品视频内| 久久一区二区三区国产精品| 9国产精品视频| 久久野战av| 亚洲综合清纯丝袜自拍| 亚洲国产成人久久| 欧美午夜精品久久久久久超碰| 久久精品国产一区二区电影 | 欧美一级专区| 亚洲欧洲在线一区| 国产一区二区三区黄| 欧美日韩高清在线一区| 久久精品夜夜夜夜久久| 一区二区精品国产| 亚洲二区在线视频| 久久天天综合| 欧美在线免费看| 亚洲图片你懂的| 亚洲开发第一视频在线播放| 国模大胆一区二区三区| 欧美三级电影一区| 欧美不卡视频一区发布| 久久精品视频在线播放| 亚洲影院在线| 宅男精品视频| 日韩一区二区精品在线观看| 欧美国产日韩一区二区在线观看 | 欧美在线观看一区| 亚洲少妇自拍| 亚洲最新视频在线| 亚洲国产精品久久久久秋霞影院 | 午夜伦理片一区| 一区二区三区欧美| 日韩亚洲一区在线播放| 亚洲大片av| 亚洲国产精品va在线观看黑人| 国语自产在线不卡| 黄色资源网久久资源365| 国产亚洲午夜高清国产拍精品| 国产精品日韩在线| 国产精品日日摸夜夜摸av| 欧美天天视频| 国产精品乱人伦一区二区| 国产精品vvv| 国产精品久久久爽爽爽麻豆色哟哟| 欧美日韩一区二区三区在线视频 | 欧美成人按摩| 欧美精品v日韩精品v韩国精品v | 亚洲深夜福利网站| 亚洲午夜在线| 性欧美超级视频| 欧美综合77777色婷婷| 久久久久久高潮国产精品视| 久久久久国产一区二区| 另类图片综合电影| 欧美精品一区二区三区四区 | 亚洲女人天堂成人av在线| 亚洲尤物在线视频观看| 久久成人精品视频| 久久免费视频这里只有精品| 欧美 亚欧 日韩视频在线| 欧美日本不卡高清| 国产精品亚洲综合| 今天的高清视频免费播放成人 | 亚洲国产高清一区二区三区| 亚洲人成网在线播放| 一本色道久久88精品综合| 亚洲一区二区三区高清 | 午夜精品免费在线| 久久深夜福利| 亚洲精品久久视频| 亚洲一区一卡| 久久综合五月| 欧美日韩视频专区在线播放| 国产一区 二区 三区一级| 91久久中文字幕| 香蕉免费一区二区三区在线观看| 久久免费视频网| 亚洲日本aⅴ片在线观看香蕉| 亚洲欧美电影院| 欧美~级网站不卡| 国产乱码精品1区2区3区| 亚洲国产三级网| 欧美亚洲自偷自偷| 亚洲国产99精品国自产| 亚洲欧美日韩视频二区| 欧美成人一区二区三区| 国产午夜亚洲精品羞羞网站| 99成人免费视频| 久久久久国产精品一区二区| 亚洲精品国精品久久99热一| 欧美中文字幕不卡| 欧美视频一区二区三区| 亚洲第一主播视频| 久久成人18免费观看| 亚洲色图自拍| 欧美成人在线网站| 伊人春色精品| 久久久91精品国产一区二区精品|