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) |
|
|
|