winpcap軟體安裝內幕--逆水行舟

chief1985發表於2008-10-11
導讀:


安裝內幕, 呵呵, 似乎很高深的樣子. 其實很簡單。


這兩天公司的同事提了一個需求,要搞清楚winpcap軟體安裝真正做了什麼,因為我們不想要winpcap的安裝介面。在用google在網上搜了一番之後,發現原來安裝軟體原來這麼簡單,軟體安裝包的製作也非常簡單。


先看看winpcap的安裝到底做了什麼,其實在window上安裝軟體無外乎做兩件事:拷貝一系列檔案到相應的目錄下;修改一下注冊表的相關資訊。 winpcap安裝也有這個過程,它將packet.dll、pthreadVC.dll、wanpacket.dll、wpcap.dll拷貝到windows/system32/目錄下,同時將驅動檔案npf.sys拷貝到windows/systems/drivers/目錄下。拷貝完檔案接下來就是要改登錄檔的相關資訊了,因為winpcap是一個抓包軟體,所以它要向系統註冊一下抓包驅動的服務。這裡涉及到登錄檔的一些操作:


[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
AddService=NPF,,winpcap_svr
[winpcap_svr]
DisplayName=Netgroup Packet Filter
ServiceType=0x1
StartType=3
ErrorControl=1
ServiceBinary=%12%/npf.sys


這是wpcap.inf檔案。


接下來是一個批處理檔案wpcap.bat,完成整個安裝過程:


rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %CD%/wpcap.inf
if /i %CD%==%SYSTEMROOT%/system32 goto COPYDRV
copy packet.dll %SYSTEMROOT%/system32/
copy wpcap.dll %SYSTEMROOT%/system32/
copy wanpacket.dll %SYSTEMROOT%/system32/
copy pthreadVC.dll %SYSTEMROOT%/system32/
 
:COPYDRV
if /i %CD%==%SYSTEMROOT%/system32/drivers goto END
copy npf.sys %SYSTEMROOT%/system32/drivers/ 
:END


執行這個批處理檔案就可以完成winpcap軟體的安裝過程了。


而製作.exe的安裝包,實際上就是用winrar將上述所有的檔案打包成.exe的自解壓縮檔案,然後把解壓後執行的檔名設定成wpcap.bat即可。


本文轉自
http://nety.blogdriver.com/nety/979965.html

相關文章