[转载]禁止上传下载
#include "stdafx.h"#include <windows.h>
#include <fltdefs.h>
#include <winsock.h>
#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"iphlpapi.lib")
void DisNet()
{
DWORD err = NO_ERROR;
INTERFACE_HANDLE hInterface;
WORD wVersionRequested;
WSADATA wsaData;
char name;
char *ip;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
if((hostinfo = gethostbyname(name)) != NULL)
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
OutputDebugStringA(ip);
PfCreateInterface(0,
PF_ACTION_DROP,
PF_ACTION_DROP,
FALSE, TRUE, &hInterface);
BYTE localIp[] = {192,168,18,100};
RtlCopyMemory(localIp,&(*(struct in_addr *)*hostinfo->h_addr_list).S_un.S_addr,4);
BYTE DestIp[] = {0,0,0,0};
PfBindInterfaceToIPAddress(hInterface, PF_IPV4, localIp);
FILTER_HANDLE fHandle;// 填充过滤包的规则结构
PF_FILTER_DESCRIPTOR inFilter;
inFilter.dwFilterFlags = FD_FLAGS_NOSYN;
inFilter.dwRule = 0;
inFilter.pfatType = PF_IPV4; //用 ipV4 地址
inFilter.SrcAddr = localIp; //设置本地IP地址
inFilter.SrcMask = (PBYTE)"\xff\xff\xff\xff"; //设置本地子网掩码
inFilter.wSrcPort = FILTER_TCPUDP_PORT_ANY; //任意来源端口
inFilter.wSrcPortHighRange = FILTER_TCPUDP_PORT_ANY;
inFilter.DstAddr = 0;
inFilter.DstMask = 0;
inFilter.wDstPort =FILTER_TCPUDP_PORT_ANY;
inFilter.wDstPortHighRange =FILTER_TCPUDP_PORT_ANY;
inFilter.fLateBound = 0;
inFilter.dwProtocol = FILTER_PROTO_ANY;
PfAddFiltersToInterface(hInterface, 0, NULL,1, &inFilter, &fHandle);
if(err != NO_ERROR)
{
OutputDebugStringA("PfAddFiltersToInterface is Wrong\n");
return ;
}
MessageBoxA(NULL,"成功关闭全部上传下载功能","反上传下载",0x1000);
//移除过滤接口
PfRemoveFilterHandles(hInterface, 1, &fHandle);
PfUnBindInterface(hInterface);
PfDeleteInterface(hInterface);
}
int main(int argc,char **argv)
{
DisNet();
return 0;
} 原始出处:不知道。。。
朋友在QQ上给我发来的,我总不能说来自qq.com吧。。。 这份代码当年没细看,现在发现还挺有使用价值的。
页:
[1]