legendmaner

一项目中,用到了winpcap,为了实现免安装,找到的文章。其实4.0的只需要packet.dll、pthreadVC.dll、wpcap.dll、npf.sys就ok了~

安装内幕, 呵呵, 似乎很高深的样子. 其实很简单。

这两天公司的同事提了一个需求,要搞清楚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即可。 

运行installwpcap.bat就可以成功安装winpcap,会出现安装过程会出现“控制台窗口”,安装完会推出。
运行removewpcap.bat就可以卸载winpcap。

installwpcap.bat如下:
sc stop npf
sc delete npf
copy Packet.dll %SystemRoot%\system32\Packet.dll
copy wpcap.dll %SystemRoot%\system32\wpcap.dll
copy pthreadVC.dll %SystemRoot%\system32\pthreadVC.dll
copy npf.sys %SystemRoot%\system32\drivers\npf.sys
sc create npf binpath= %SystemRoot%\system32\drivers\npf.sys type= kernel start= boot
sc start npf


removewpcap.bat如下:
sc stop npf
sc delete npf
del %SystemRoot%\system32\Packet.dll
del %SystemRoot%\system32\wpcap.dll
del %SystemRoot%\system32\pthreadVC.dll
del %SystemRoot%\system32\drivers\npf.sys
pause

分类:

技术点:

相关文章:

  • 2021-08-06
  • 2021-11-29
  • 2021-12-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-25
  • 2021-09-28
  • 2021-10-12
  • 2021-09-13
  • 2021-04-13
  • 2022-12-23
相关资源
相似解决方案