资源简介
SPI网络数据包拦截程序源码,用户态防火墙雏形,来自Windows防火墙与网络封包截获技术中的PacketCapture
代码片段和文件信息
//——————————————————————————————————————
/*
文件: XInstall.cpp
说明:
——————————————————————————
用来安装过滤性质的自定义基础服务提供者。
——————————————————————————
工程: Xfilter 个人防火墙
作者: 朱雁辉,朱雁冰
创建日期: 2001/08/28
网址: http://www.xfilt.com
电子邮件: xstudio@xfilt.com
版权所有 (c) 2001-2002 X 工作室
警告:
——————————————————————————
本电脑程序受著作权法的保护。未经授权,不能使用
和修改本软件全部或部分源代码。凡擅自复制、盗用或散
布此程序或部分程序或者有其它任何越权行为,将遭到民
事赔偿及刑事的处罚,并将依法以最高刑罚进行追诉。
凡通过合法途径购买本软件源代码的用户被默认授权
可以在自己的程序中使用本软件的部分代码,但作者不对
代码产生的任何后果负责。
使用了本软件代码的程序只能以可执行文件形式发布,
未经特别许可,不能将含有本软件源代码的源程序以任何
形式发布。
——————————————————————————
*/
//——————————————————————————————————————
#include “stdafx.h“
#include “XInstall.h“
BOOL CXInstall::IsWinsock2()
{
WORD wVersionRequested = MAKEWORD(2 0);
WSADATA wsaData;
if(WSAStartup(wVersionRequested &wsaData) != 0)
return FALSE;
if (LOBYTE(wsaData.wVersion) != 2)
{
WSACleanup();
return FALSE;
}
return TRUE;
}
BOOL CXInstall::IsInstalled(TCHAR *sPathName)
{
TCHAR tsPathName[MAX_PATH];
if( ReadReg(REG_INSTALL_PATH_ITEM
(BYTE*)tsPathName
MAX_PATH
HKEY_LOCAL_MACHINE
REG_INSTALL_KEY REG_SZ
)
)
{
if(sPathName != NULL)
_tcscpy(sPathName tsPathName);
return TRUE;
}
return FALSE;
}
int CXInstall::InstallProvider(TCHAR *sPathName)
{
if(IsInstalled())
return XERR_PROVIDER_ALREADY_INSTALL;
_tcscpy(m_sPathName sPathName);
int iRet;
if((iRet = EnumHookKey(FALSE)) != XERR_SUCCESS)
return iRet;
if(!SaveReg(REG_INSTALL_PATH_ITEM (BYTE*)sPathName _tcslen(sPathName)
HKEY_LOCAL_MACHINE REG_INSTALL_KEY REG_SZ))
return XERR_PROVIDER_SAVE_PATH_FAILED;
return XERR_SUCCESS;
}
BOOL CXInstall::RemoveProvider()
{
int iRet = XERR_SUCCESS;
if(!IsInstalled())
return XERR_PROVIDER_NOT_INSTALL;
if(iRet = EnumHookKey(TRUE) != XERR_SUCCESS)
return iRet;
if(!DeleteReg())
return XERR_PROVIDER_REG_DELETE_FAILED;
return XERR_SUCCESS;
}
//****************************************************************************
// 私有安装函数
//****************************************************************************
int CXInstall::EnumHookKey(BOOL IsRemove)
{
HKEY hkey = NULL;
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE
REG_PROTOCOL_CATALOG_KEY 0 KEY_READ &hkey) != ERROR_SUCCESS)
return XERR_PROVIDER_OPEN_REG_FAILED;
__try
{
TCHAR sSubKey[MAX_PATH];
DWORD dwIndex = 0;
int iRet = 0;
while(RegEnumKey(hkey dwIndex sSubKey MAX_PATH) == ERROR_SUCCESS)
{
if((iRet = SaveHookKey(hkey sSubKey IsRemove)) != XERR_SUCCESS)
return iRet;
dwIndex ++;
}
}
__finally
{
RegCloseKey(hkey);
}
return XERR_SUCCESS;
}
int CXInstall::SaveHookKey(HKEY hkey LPCTSTR sSubKey BOOL IsRemove)
{
HKEY hSubKey = NULL;
BYTE ItemValue [MAX_PROTOCOL_CATALOG_LENTH];
DWORD ItemSize = MAX_PROTOCOL_CATALOG_LENTH;
if(RegOpenKeyEx(hkey
sSubKey 0 KEY_A
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1205 2001-12-26 15:07 PacketCapture\Common\Debug.h
文件 6669 2008-05-04 11:47 PacketCapture\Common\XInstall.cpp
文件 2203 2001-12-31 19:11 PacketCapture\Common\XInstall.h
文件 402432 2008-05-05 10:01 PacketCapture\InstallExe\Debug\Install.pdb
文件 11451 2008-05-05 10:01 PacketCapture\InstallExe\Debug\InstallExe.obj
文件 3304996 2008-05-05 10:01 PacketCapture\InstallExe\Debug\InstallExe.pch
文件 58565 2008-05-05 10:01 PacketCapture\InstallExe\Debug\StdAfx.obj
文件 132096 2008-05-05 10:01 PacketCapture\InstallExe\Debug\vc60.idb
文件 118784 2008-05-05 10:01 PacketCapture\InstallExe\Debug\vc60.pdb
文件 14806 2008-05-05 10:01 PacketCapture\InstallExe\Debug\XInstall.obj
文件 2500 2008-05-05 10:00 PacketCapture\InstallExe\InstallExe.cpp
文件 4596 2001-09-13 16:13 PacketCapture\InstallExe\InstallExe.dsp
文件 528 2008-05-05 09:53 PacketCapture\InstallExe\InstallExe.dsw
文件 50176 2008-05-05 10:01 PacketCapture\InstallExe\InstallExe.ncb
文件 48640 2008-05-05 10:01 PacketCapture\InstallExe\InstallExe.opt
文件 1860 2008-05-05 10:01 PacketCapture\InstallExe\InstallExe.plg
文件 1232 2001-08-29 00:14 PacketCapture\InstallExe\ReadMe.txt
文件 297 2001-08-29 00:14 PacketCapture\InstallExe\StdAfx.cpp
文件 862 2001-09-13 14:05 PacketCapture\InstallExe\StdAfx.h
文件 754 2001-09-13 14:06 PacketCapture\PacketCapture.dsw
文件 74752 2008-05-04 22:00 PacketCapture\PacketCapture.ncb
文件 55808 2008-05-04 22:00 PacketCapture\PacketCapture.opt
文件 688 2002-01-26 15:04 PacketCapture\Readme.txt
文件 192641 2008-05-05 10:01 PacketCapture\Release\Install.exe
文件 1364096 2008-05-05 17:10 PacketCapture\Release\TcpIpDog.dll
文件 26604 2008-05-05 13:27 PacketCapture\TcpIpDog\Debug\Overlapped.obj
文件 60592 2008-05-05 13:27 PacketCapture\TcpIpDog\Debug\StdAfx.obj
文件 668 2008-05-05 13:27 PacketCapture\TcpIpDog\Debug\TcpIpDog.exp
文件 1964 2008-05-05 13:27 PacketCapture\TcpIpDog\Debug\TcpIpDog.lib
文件 81395 2008-05-05 17:10 PacketCapture\TcpIpDog\Debug\Tcpipdog.obj
............此处省略25个文件信息
- 上一篇:厦门大学-数据结构-期末考试试题
- 下一篇:51单片机 电子琴
相关资源
- AutomotiveSPICE
- stm32f103操作NRF24L01发送和接受数据
- 小波图像压缩算法研究、改进及仿真
- spiflash 1.81并口SPI Flash BIOS编程器,全
- STM32做的DMX512转SPI信号控制MBI6030
- HSPICE2010 licence及破解补丁
- STM32开发板综合实验
- spi通信 (FPGA和单片机的通信模块)
- SpringBoot+mybatis登录注册及其账号密码
- SpringBoot-mybatis登录、注册、拦截器、
- AT25SF081驱动
- STM32 RFID RC522 模拟SPI 读写卡程序
- 基于stm32的hmc5983和mpu6500的驱动程序
- FPGA单片机4线spi方式驱动OLED有机屏幕
- 18位8通道AD7608驱动程序.rar
- dsPIC33E/PIC24E系列中文手册-CN.pdf
- DELL Inspiron Desktop 620/620s windows7 64位网
- STM32F_QSPI_NAND
- How Spirent iTest Works
- hspice2007入门教程
- STM32F103_SPI驱动nRF24L01
- 基于zedboard的SPI收发数据通讯记录文档
- spine-unity-3_8-2019-05-15-beta.unitypackage
- STM32 F103VCT6 KEIL5环境 USART SPI I2C TIM
- Spine3.80.zip
- 语音识别模块LD3320驱动程序stm32
- SPI_adis16470 主机版本 飞控算法的姿态
- listview下拉刷新 加载数据 spinner与li
- 基于stm32f407的ads1118
- AXI_Quad_spi的Ip核使用.docx
评论
共有 条评论