Como nós diriamos: Conhecimento e poder, ter paciência para alcançá-lo é fundamental. 

Para copiar o programa eu recomendo usar o Edit do DOS, o codigo em Pascal  esta em conflito com o codigo em HTML.

Proposito do tutorial:


Antes de nada, eu fiz esse virus para aqueles que ja tenham algum conhecimento  em logica/programacao em Pascal ou outra linguagem, Espero com esse texto mostrar/ensinar/incentivar a criacao de virus, materia 
pouco tratada por nos brasileiros, poucos sao aqueles que fazem virus (Nao estou dizendo que nao ha, existir existe mas eles nao aparecem para divulgar o que fez tipo montando um zine brasileiro somente sobre criacao de virus com as sua variadas tecnicas), geralmente o que o pessoal faz e colocar uma copia 
de um virus em sua HP, so para constar. Bom, eu adoro a criacao de virus, venho criando/arrumando meu virus ja de um tempo atras, antes mesmo de conhecer a Internet eu ja fazia algo sobre o assunto, mas depois que eu conheci a Net que eu pude me inteirar mais sobre o assunto, atraves de Zines como a 40hex americana e a Minotauro argentina, sou colecionador de virus, 
tenho mais ou menos 50 virus em casa mais 3 programas que criam virus e percebi o quanto o Brasil estava atrasando quanto a isso. Portanto, eu resolvi criar esse tutorial de como fazer um virus em Pascal (Porque em Pascal? Leia a Introducao e voce sabera) o virus que eu mostro nesse tutorial foi o primeiro 
que eu fiz, do tipo normal, fora esse eu tenho mais outro virus de um genero diferente: COMpanion. 
Bom antes que eu me esqueca, esse tutorial e de genero 
educacional somente, O autor do Tutorial/criador do virus nao se 
responsabilizara pelas idiotices que os leitores fizerem com esse 
tutorial/virus. 
Esse texto, nao trata apenas de virus, trata de logica de virus e tudo que envolve isso, ele ensina/mostra muita coisa que voce pode por em algum programa que nao tenha nada a ver com virus. 


Introdução:


Vamos comecar esse tutorial tendo em mente uma coisa: O que e um virus de computador? 
Um virus de computador nada mais e que um programa que se auto-copia, ou seja, nao e necessario que eu digite um comando especifico que ative ele, basta executar o programa que contem o virus (Geralmente sem querer), o que eu pretendo fazer com esse texto e tentar ensinar a vc como criar um virus simples em pascal, tentando mostrar a logica dele. Eu peguei a linguagem 
Pascal para fazer esse virus, por que para mim ela e uma das melhores que existem, e tambem para ensinar a logica do virus o Pascal e otimo, eu poderia ter criado um tutorial de como fazer um virus em ASM, mas poucos iriam poder usufruir totalmente da logica, por outro lado quase todo mundo programa em 
Pascal, entao ai esta. So tem uma coisa que eu nao gostei nesse virus em Pascal: O tamanho dele pronto, ele fica com um tamanho variando de 8 K a 12 K, o que para um virus e muito, em ASM ou C ficaria em torno de 1 K a 4 K, mas a pessoa que ler esse texto pode muito bem passar esse programa do Pascal para o C ou ASM, caso alguem faca isso, eu pediria para que me enviassem o codigo final. 
Depois disso, vamos tratar de criar um plano de ataque para o meu virus, ou seja como ele vai agir. 


Teorizando


O virus que eu fiz em Pascal trabalha do seguinte jeito, ele copia somente o virus para um arquivo temporario e depois ele copia o arquivo hospedeiro para o final dele, depois apagava o arquivo hospedeiro original do disco e renomeava o arquivo temporario de modo a ter o nome do arquivo hospedeiro. 

Seria algo como concatenacao de arquivos, se eu fosse fazer isso em DOS, eu faria assim: 

Comandos: 
copy /b virus.exe+arquivo.exe virtemp.tmp 
del arquivo.exe 
ren virtemp.tmp arquivo.exe 

Onde: 
virus.exe = virus (somente) 
arquivo.exe = arquivo hospedeiro (Pode ser extensao .exe ou .com, nao ha diferenca) 
virtemp.tmp = arquivo infectado temporario 
/b = realiza copia binaria 


Problemas:


So que o virus nao e tao simples assim. Problemas a serem tratados: 

1) O DOS nesse caso, somente executaria o virus, deixando o programa hospedado sem ser executado, o certo e que ele seja executado. 

2) A data e hora do arquivo ficam alterados, o certo e que elas continuem inalteradas. 


Possíveis soluções


1) Criar uma funcao que desfaca o que foi feito, gravando o arquivo com outro nome e depois executando ele de dentro do virus. 

2) Gravar data e hora do arquivo para variaveis e depois recoloca-las no arquivo. 


Outras questões para abortar


1) Reproducao - Ele tem que se reproduzir, senao ele nao pode ser chamado de virus. 

2) Execucao - Ele tera que executar o programa hospedeiro. 

3) Acoes que ele possa vir a fazer - Algo que se coloque no codigo do programa para que o virus execute, tipo apagar command.com, impedir que a impressora imprima (em modo DOS), tocar sons e/ou fazer uma bolinha passear na tela 
(Isso o que eu geralmente uso), ou entao fazer dele um virus anti-virus. 

4) Programa Anti-virus - Isso mesmo um anti-virus, seria a coisa mais idiota voce fazer um virus e nao ter uma protecao contra ele, uma vez que voce vai realizar varios testes, vai que ele escapa do seu controle. O Anti-virus no caso seria um programa SEU em Pascal que desinfectasse o arquivo. 

5) Programa que mostra o tamanho e o cabecalho do seu virus - O virus necessita de informacoes quanto a si proprio para agilizar o esquema. 

6) Encriptacao - Esconder os dados de alguem que veja o conteudo do virus! 

7) Quantos arquivos a serem infectados - Quantidade maxima de arquivos a serem infectados. Questao de seguranca. 


Fluxograma


Virus Executado 


(inicinf)Iniciar infeccao nos caminhos 
c:\dos\*.com, c:\dos\*.exe, *.com, *.exe 
c:\windows\*.com, c:\windows\*.exe 


(infec)Infecta os arquivos do diretorio fornecido. 


(procura)Procura primeiro arquivo a infectar 


+-----> (verifica) Arquivo Infectado? ---S--------------------------------+ 
| | | 
| | N | 
| (infec)Copia virus (sem arq hospedeiro) | 
| para um arquivo chamado virtemp.tmp | 
| | | 
| | | 
| Copia arquivo a ser infectado a partir | 
| do fim do virus (concatenacao): | 
| copy /b virtemp.exe+arquivo.exe virtemp.tmp | 
| | | 
| | | 
| Grava data e hora do arquivo em variaveis. | 
| | | 
| | | 
| Apaga arquivo original a ser infectado (del arquivo.exe)

|