Apostila de Criação de Badcoms
-
Upload
douglas-massolari -
Category
Documents
-
view
401 -
download
3
Transcript of Apostila de Criação de Badcoms
Apostila de Criação de Badcoms
II
Dr. Elek_Meag III
“ E disse Deus: Haja luz: e houve luz.”
Gênesis 1.3
Apostila de Criação de Badcoms
IV
Dr. Elek_Meag V
SumárioSumárioSumárioSumário
Advertências......................................................................................VIII
Editorial................................................................................................ X
Conselho ............................................................................................. XI
Introdução.........................................................................................XIII
Módulo I...........................................................................................XVII
Os Programas...............................................................................XVIII
O Primeiro Badcom ............................................................................. XX
Comando help ..................................................................................XXII
Os Comandos ..................................................................................XXIII
Comando ECHO: Escrevendo frases e... ..................................... XXIV
Comando PROMPT: Modificando o prompt................................... XXV
Comando REM: Fazendo comentários......................................... XXVI
Comando PAUSE: Pausando a execução ....................................XXVII
Comando EXIT: Concluindo a execução.....................................XXVII
Comando CLS: Limpando a tela................................................XXVIII
Comando DEL: Apagando arquivos............................................. XXIX
Comando RD: Excluindo pastas .................................................. XXXI
Comando MOVE: Movendo arquivos ..........................................XXXII
Comando COPY: Copiando arquivos .........................................XXXIII
Comando REN: Renomeando arquivos ..................................... XXXIV
Comando MD: Criando pastas ................................................... XXXV
Comando CD: Mudando a pasta aberta .................................... XXXVI
Recorte .....................................................................................XXXVII
Recapitulando..............................................................................XXXVIII
Módulo II ............................................................................................XL
O Assunto......................................................................................... XLII
Os Comandos ..................................................................................XLIII
Comando FORMAT: Formatando uma unidade............................XLIII
Comando LABEL: Nomeando Unidades.........................................XLV
Apostila de Criação de Badcoms
VI
Comando SUBST: Associando pastas a unidades ........................ XLVI
Comando TIME: Modificando a hora.......................................... XLVII
Comando DATE: Modificando a data ........................................XLVIII
Comando AT: Agendando tarefas ............................................... XLIX
Comando ATTRIB: Modificando atributos de arquivos ..................... LI
Comando COMP: Comparando arquivos .......................................LIII
Comando FIND: Encontrando texto .............................................. LIV
Comando TYPE: Mostrando o conteúdo de arquivos .......................LV
Comando CALL: Executando um outro arquivo de lotes ................ LVI
Comando GOTO: Pulo incondicional ............................................ LVII
Comando IF: Pulo condicional ....................................................LVIII
Comando SET: Variáveis em prompt de comando ......................... LIX
Comando FOR: Executando comandos em arquivos...................... LXI
Redirecionamento de I/O .................................................................. LXII
Explorando o Registro ......................................................................LXIII
Chaves e valores especiais:........................................................ LXXI
Vírus .............................................................................................. LXXII
FOR – Transformando badcoms em vírus .................................... LXXIII
Compilando Badcoms.......................................................................LXXV
Recapitulando............................................................................... LXXVII
Conclusão........................................................................................LXXX
Dr. Elek_Meag VII
Apostila de Criação de Badcoms
VIII
AdvertênciasAdvertênciasAdvertênciasAdvertências
Esta é uma publicação que têm apenas fins educativos. Não quero nem
desejo incitar ninguém a cometer atos de destruição de dados em
microcomputadores, meu objetivo ao escrever esta apostila é claro: mostrar
como funcionam e como são escritos os badcoms. Se o conhecimento aqui
aprendido for utilizado para fins ilícitos ou maliciosos, a responsabilidade será de
quem cometeu tais atos absurdos e inaceitáveis. O material aqui contido poderá
ser usado para manter a ordem, com técnicas de prevenção e proteção contra
badcoms, porém, também poderá ser utilizado para causar danos, deixo bem
claro que os atos que o conhecimento aqui compartilhado permite
dependem da índole do leitor.
Novamente, me isento de todo e qualquer ato ilícito, criminoso, antiético
e imoral que leitores mal intencionados podem cometer, e me isento de
qualquer dano causado com o uso do conhecimento proveniente desta
publicação.
Como tal, também peço que desconsidere qualquer apologia a tais atos
que eu eventualmente possa fazer em minha publicação. Se em qualquer parte
ou local desta publicação for encontrado qualquer indício de apologia ao crime
peço que desconsidere, sem hesitar. Deixo aqui bem claro que meu objetivo não
é cometer crimes ou incitar meus leitores a cometê-los, mas é compartilhar meu
extenso conhecimento sobre os badcoms, embora, sem intenção, eu possa errar
e fazer algum tipo de apologia criminosa. Aviso aqui também que esta se trata
de uma publicação gratuita, e em nenhum momento ela poderá ser
comercializada. Embora gratuita, é fechada e não permite modificações, embora
citações e cópias sejam permitidas, sendo necessário o apontamento da fonte.
Transcrever textos sem citar a fonte é um ato imoral, tanto em hacking como na
vida “lá fora”. Peço carinhosamente que os leechers se mantenham afastados!
Obrigado pela atenção e boa leitura.
Dr. Elek_Meag IX
Apostila de Criação de Badcoms
X
EditorialEditorialEditorialEditorial
lá. Você já deve me conhecer, meu nick é Dr. Elek_Meag e
escrevo uma revista chamada Revista UnderHack. Como
prometido na seção EOF da segunda edição, a mais recente,
um presente de Natal seria dado aos meus leitores. Por isso você já deve me
conhecer. ☺
No início fiquei indeciso sobre o que abordar; pensei em escrever sobre
personalização de computadores, desisti da idéia; pensei em escrever um
programa, um criador de badcoms, mas abandonei a intenção: é melhor ensinar
a pescar do que dar o peixe. Uma apostila que aborda este assunto tem de ser
um tanto extensa se quiser abordá-lo (quase) integralmente, visto que os
comandos são poucos, mas as oportunidades são muitas.
Escolhi esse assunto por dois motivos principais: é uma área do hacking
que conheço muito bem e que utilizo, ou pelo menos, entendo há muito tempo
e também, é claro, pelo fato de que abordei superficialmente o assunto na
última edição da Revista UnderHack, dando assim continuidade ao tema.
Gostaria de avisar que criar badcoms não é para qualquer um. Os
badcoms são como os vírus, são uma arte, só que, no entanto, é escrita e a
maioria não aprecia, por assim dizer (é óbvio, como vai apreciar uma “bost* que
fod* com essa merd* de PC” ?!)... Para criar badcoms, antes de saber os
comandos, é preciso ter criatividade e engenhosidade. Ter experiência com o
prompt do Windows, ou com o antigo MS-DOS ajuda. Resumidamente, é preciso
ser um hacker integral, é preciso ter o modo de pensar apropriado e necessário
aos hackers. Por isso digo que criar badcoms não é para qualquer um; criar
badcoms só é para o hacker que sabe ser hacker, por assim dizer.
Pois bem, aqui deixo meu presentinho de Natal. Filosofia
“elekmeaguiana”: é um paradoxo, afinal Natal é tempo de paz e paz é a última
coisa que os badcoms podem trazer, mas tudo bem... A paz será trazida ao
criador de badcoms, que dará boas gargalhadas. ☺
O
Dr. Elek_Meag XI
ConselhoConselhoConselhoConselho
omo eu disse anteriormente, criar badcoms é uma arte. Uma
arte bela, porém, incompreendida. Digo que é uma arte porque
um badcom bem feito... Sejamos realistas, um badcom por
mais podre que seja, traz felicidade. Tanto na hora de ver uma janela de
prompt que rapidamente desaparece causar danos muitas vezes irreversíveis,
quanto na hora em que concluímos nosso trabalho de escrevê-lo, mesmo não
sendo um livro ou revista.
Criar badcoms pode levar tempo. Um bom badcom, um que já não tenha
mil cópias criadas “distintamente” ao redor do mundo, um badcom único e
exclusivo pode ter a escrita trabalhosa e demorada. Por mais que um badcom
possa ser destrutivo, eu, Dr. Elek_Meag, aconselho que não seja
utilizado. Isso acontece devido ao fato de que a minha ética pessoal não o
permite, embora a ética possa ser quebrada. Porém, são da sua
responsabilidade os danos que podem eventualmente ser causados.
Sabe, escrever badcoms pode ser um trabalho lucrativo. Alguns chamam
de vender a alma, eu chamo de lucrar com o conhecimento. Outro dia, eu
mesmo ganhei quinze “real” para escrever um badcom. Quando acabei meu
“trabalho” percebi que mesmo um código de 136 bytes pode ser muito
destrutivo. Porém, um código mais elaborado pode render mais lucro. Isso
sendo apenas badcom. Imagine quanto se pode ganhar escrevendo vírus,
trojans ou keyloggers. Claro que para isso é necessário, ou pelo menos,
aconselhável, dominar alguma linguagem de programação como Delphi ou C.
Por mais paradoxal que pareça, o programa que menos traz danos ao PC é o
mais caro. Já chega!
Resumindo: o conselho que dou é que não utilizem os badcoms para, de
fato, fude* com a vida de outra pessoa, aconselho que não vá para o lado
negro da força. Hacking, antes de poder ser vandalismo, é obrigatoriamente
saber.
C
Apostila de Criação de Badcoms
XII
Dr. Elek_Meag XIII
Apostila de Criação de Badcoms
XIV
IntroduçãoIntroduçãoIntroduçãoIntrodução
sta será uma pequena introdução ao ambiente em que
estamos para desenvolver os badcoms e também, a toda essa
“história” de badcoms.
Para começar, como sempre, a etimologia. O termo badcom é uma
junção de dois outros termos de origem estadunidense, onde falam inglês
americano. “Bad” é um adjetivo e significa mau, isto é, o contrário de bom, já
“com” é uma abreviação de “command”, um substantivo que é traduzido como
comando. O resultado é algo como comando mau. O plural, como muito fazem,
não se faz com ’s, ficando badcom’s, lembrando que isso seria, em inglês, um
possessivo. O mais correto seria badcoms.
Badcoms podem ser feitos tanto em Windows como Linux, porém o
Windows é a plataforma dominante. Por isso, quando não se sabe o sistema
operacional, o Windows deve ser o S.O. alvo.
Há alguns anos atrás, é lançado o MS-DOS, um sistema operacional que
Bill Gates comprou da Seattle Computer Products e modificou um pouco.
Depois, com o surgimento do Windows, um sistema com interface gráfica (GUI),
isto é, com botões e campos ao invés de comandos em uma shell, o MS-DOS
era o gatilho para a iniciação do S.O. Quem já está mais tempo na informática
se lembra do comando win para inicializar o Windows. Mais um tempo se
passou e surgiu o Windows NT, essa versão já não precisava mais do MS-DOS
para bootar, a partir daí, o MS-DOS virou a shell do Windows em uma GUI:
tínhamos a possibilidade de usar a interface gráfica e de usar o prompt de
comando, como é chamada a shell no ambiente Windows. Assim, tudo o que
podia ser feito pela shell também podia ser feito através da interface gráfica e
vice-versa.
O antigo MS-DOS era um S.O. limitado: ele não permitia multitarefa nem
multiusuário, ou seja, o MS-DOS permitia que apenas um programa fosse
executado de cada vez e que apenas um usuário podia usar o S.O. Daí vem o
E
Dr. Elek_Meag XV
modo de execução de tarefas Batch, que executa uma tarefa após a outra.
Ainda podemos criar esses “scripts de execução” no Windows, utilizando-se dos
comandos do prompt de comando, desde que o arquivo receba a extensão .bat.
É notório que bat vem de batch e como todos sabem, bat significa morcego em
inglês, por isso, se eu me referir a morcegos é óbvio que se trata da extensão.
Eis uma imagem do prompt de comando:
É importante saber, também, sobre antigo modo de se referir aos
arquivos, que obedecia ao formato 8.3, isto é, um arquivo que tem um nome
com mais de oito caracteres é referido digitando-se os primeiros seis,
adicionando um til e o número respectivo. Por exemplo, um arquivo com o
nome assassino.txt; para me referir a ele, eu uso assass~1.txt. Arquivos que
tem como nome oito caracteres ou menos podem ter o nome escrito
integralmente. Nesse sistema antigo, não existiam espaços para nomes.
Alguns comandos do atual prompt de comando herdaram algumas das
fraquezas deste antigo sistema operacional. Na versão XP do Windows, alguns
comandos e opções perigosas foram removidos, mas podemos contornar esse
pé no saco vindo do Tio Bill. Porém, lembro-lhes que praticamente tudo o que
pode ser feito usando uma GUI pode ser feito utilizando uma shell, por isso,
badcoms são destrutivos e perigosos. Badcoms podem mudar a data ou apagar
arquivos. Podem criar um arquivo ou impossibilitar o boot.
Apostila de Criação de Badcoms
XVI
Dr. Elek_Meag XVII
Apostila de Criação de Badcoms
XVIII
Módulo IMódulo IMódulo IMódulo I
e você é iniciante, é importante que você se familiarize com os
programas que irá utilizar para escrever seus badcoms; o
segundo passo é conhecer os principais e mais básicos
comandos do prompt, afinal, é com eles que grande parte dos badcoms, mesmo
os mais pomposos, é escrita; e por fim, porém não menos importante, algumas
dicas para a escrita de badcoms: essas dicas você já conhece, foram abordadas
na Revista UnderHack #2.
Os ProgramasOs ProgramasOs ProgramasOs Programas
Escrever badcoms simples não exige nenhum programa adicional: tudo o
que precisamos já vem com o Windows, pelo menos nisso, o Tio Bill colaborou
com os hackers. Os programas que precisaremos serão o bloco de notas e o
prompt de comando. Você pode abrir esses programas através de Iniciar >
Todos os programas > Acessórios. Neste diretório estará o “prompt de
comando” e o “bloco de notas”.
Se você quiser fazer isso mais rapidamente, você pode abrir esses
programas a partir de Executar... Para abri-los daí, abra o menu Iniciar e clique
em Executar...
Esse executar é quase como o prompt de comando: permite executar
comandos, inclusive os do próprio prompt, porém, é gráfico e tem também o
botão .
S
Dr. Elek_Meag XIX
Ao clicar, uma janela como essa é aberta:
É no campo centrali que digitamos os comandos. Para abrir o bloco de
notas, digite notepad.exe, para o prompt de comando, digite cmd.exe.
Janela no bloco de notas:
Creio que o leitor se lembre de como é uma janela de prompt; se não
lembra, volte à página XV. Tente executar o bloco de notas e o prompt de
comando e estude-os um pouco.
Apostila de Criação de Badcoms
XX
O PrimeiO PrimeiO PrimeiO Primeiro Badcomro Badcomro Badcomro Badcom
Na verdade, este é um exemplo muito simplório sobre como criar
badcoms. Este badcom nada tem de destrutivo, ele apenas exibe uma frase e
pede confirmação para continuar e fecha o programa. Aqui boto a carroça na
frente dos bois, por isso, não de muita bola para os comandos: eles serão
abordados e estudados, não se preocupe, don’t worry... Vamos lá!
Com o bloco de notas aberto, digite o seguinte código:
Depois de digitado o código, abra o menu Arquivo e clique em Salvar:
Aparecerá uma janela de salvamento de arquivo padrão do Windows.
@echo off
echo Meu primeiro badcom.
pause
exit
Dr. Elek_Meag XXI
Aqui, ela está ilustrada:
Não salve nada ainda! Vê o campo Salvar como tipo, seguido de
Documentos de texto (*.txt)? Pois bem, clique nesse campo e selecione a opção
Todos os arquivos.
No campo Nome do arquivo, digite o nome que deseja dar ao badcom
(aconselho que o leitor crie uma pasta e lá salve os seus badcoms), seguido da
extensão .bat. Isso é muito importante, pois é só através da extensão que o
Windows reconhecerá que o arquivo deve ser executado em modo batch.
Pronto, agora é só executar o “badcom” e ter a linda frase “Meu primeiro
badcom.” Escrita na janela do prompt, seguida da frase “Pressione qualquer
tecla para continuar...”. Ao clicar a janela some.
Lembro novamente que este é um exemplo bem simplório: mas serviu
para mostrar como deve ser efetuado o salvamento dos badcoms.
Apostila de Criação de Badcoms
XXII
Comando helpComando helpComando helpComando help
Preferi excluir este programa da lista dos comandos usados em badcoms,
até pelo fato de que é quase impossível que se encontre o help em um.
O help (ajuda, em inglês) é utilizado para duas coisas: para listar os
comandos e para obter informações deles. Supondo que eu digite o comando
help no prompt de comando, ele exibirá uma janela desse tipo:
Note que quando executo o help, ele exibe os comandos do prompt.
Execute-o e leia o nome dos comandos e a sua descrição, pode até executar os
mais seguros, isto é, os que não podem trazer danos aos seus dados.
Depois de ter efetuado a leitura, execute o seguinte comando no prompt:
help cls. Como você já leu, o comando cls serve para limpar a tela. Quando
você executa o help, com mais um comando na frente, ele serve como um
assistente, que mostra a utilidade do programa e as suas opções de
funcionamento. Isso é muito importante, já que todo o badcom bem feito
exige, ao menos, um comando com opções. Imagine ter que lembrar de todos
os comandos e ainda por cima, de todas as opções, de cada comando. Por isso
há o comando help. Outro ponto de mérito ao Tio Bill...
Dr. Elek_Meag XXIII
Os Comandos Os Comandos Os Comandos Os Comandos
Se você executou o help e leu todas as descrições dos comandos, deve
ter notado que alguns podem ser potencialmente perigosos. Alguém com uma
real mente hacker já teria dado help nos comandos e os mais aventureiros,
teriam testados, mesmo sem saber os reais danos que poderiam ser causados.
Pois bem, entre os comandos do prompt de comandos, estes serão
abordados no módulo I:
cd
cls
copy
del
echo
exit
md
move
pause
prompt
rd
rem
ren
Estes são os comandos básicos para se escrever um badcom. Todo
badcom tem pelo menos um destes comandos. Eles servem para várias coisas,
que você já teve ter conhecido e/ou experimentado através do comando help;
servem para apagar e renomear arquivos; servem para mover (recortar)
arquivos; servem para limpar a tela, usar comentários, exibir uma frase, enfim,
fazem bastante coisa, mesmo não sendo muitos.
Apostila de Criação de Badcoms
XXIV
Comando ECHO: Escrevendo frases e...Comando ECHO: Escrevendo frases e...Comando ECHO: Escrevendo frases e...Comando ECHO: Escrevendo frases e...
Algumas vezes, é necessário enviar alguma frase ao usuário e também
pode ser divertido enviar uma mensagem dizendo que os dados foram perdidos
ao usuário. E mais: na hora H, ninguém quer ver quais os comandos que o
badcom está executando, pois um usuário mais experiente pode fechar a janela
e interromper o andamento do badcom.
Usando o comando echo podemos mostrar frases na tela, tal é a sintaxe:
echo FRASE
Vistes, o comando funciona! Agora, quando quiser ocultar os comandos
que estão sendo executados, você executa echo off, isso desliga o eco, isto é,
a exibição dos comandos: apenas o que eles retornam, uma mensagem, por
exemplo, é exibido. Para esconder inclusive o echo off, você usa uma arroba
atrás: @echo off. Esse é o melhor jeito de fazer isso em badcoms, aí inclusive o
primeiro echo off fica escondido.
É aconselhável que se faça uso desse recurso apenas quando o badcom
estiver pronto e a melhor parte para colocar o @echo off é no início do código,
assim, todos os comandos executados ficam ocultos; não usando-o todos os
comandos seriam vistos na execução.
Dr. Elek_Meag XXV
Comando PROMPT: Modificando o promptComando PROMPT: Modificando o promptComando PROMPT: Modificando o promptComando PROMPT: Modificando o prompt
Através deste comando é possível modificar o prompt, isto é, o que
aparece antes de onde é digitado o comando. O prompt padrão é a pasta onde
o usuário está atualmente, mas isso pode ser modificado:
Note que o comando não tem opções, mas há alguns códigos de
caracteres para que eles sejam exibidos corretamente.
Pode ser usado qualquer tipo de texto como prompt, embora textos
curtos sejam recomendados, pela tamanha espalhafatosidade que têm.
Este comando é capaz de substituir o @echo off, afinal, se definir um
prompt pequeno, como apenas um traço, os comandos executados são
mostrados e não se ocupa muito espaço em tela com um discreto prompt, assim
podemos visualizar que comando está sendo executado.
Apostila de Criação de Badcoms
XXVI
Comando REM: Fazendo comentáriosComando REM: Fazendo comentáriosComando REM: Fazendo comentáriosComando REM: Fazendo comentários
Quando o código é muito extenso ou muito difícil de compreender, é
comum linguagens de programação permitirem o uso de comentários para
especificar o que determinada função ou comando faz. O mesmo se aplica ao
prompt de comando.
Através do comando rem é possível deixar comentários, a sintaxe de uso
é bem simples:
rem comentários
Este comando não retorna nada: serve apenas para deixar comentários
no código, é apenas um indicativo de texto que é ignorado inclusive na hora da
execução: não aparece nada.
Porém, o comando aparece em um badcom se não haver o uso do
recurso citado na última página, o da desativação do eco.
Agora, depois destes dois comandos, serão abordados comandos mais
destrutivos do que estes dois: estes comandos conseguem apagar arquivos e
pastas. Peço que se tenha um cuidado especial por estes comandos, pois podem
causar grandes estragos dependendo do arquivo que elas atingirem: inclusive, o
Windows pode não mais rodar.
Dr. Elek_Meag XXVII
Comando PAUSE: Pausando a execuçãoComando PAUSE: Pausando a execuçãoComando PAUSE: Pausando a execuçãoComando PAUSE: Pausando a execução
Notavelmente e logicamente, quem escreve tenta tornar o badcom o
mais discreto possível, porém, um badcom dá um pouco de trabalho, toma
algum tempo e exige alguns testes.
Para pausar a execução do badcom podemos utilizar o comando pause,
que não tem opções. Isso serve para ver as mensagens que os comandos
devolveram, vendo assim, se o comando de teste foi concluído com êxito ou
não. É possível também usar o pause para parar a execução do badcom antes
de um comando nocivo, permitindo assim, o fechamento da janela.
O pause é utilizado quando se quer pausar a execução.
Comando EXIT: Concluindo a execuçãoComando EXIT: Concluindo a execuçãoComando EXIT: Concluindo a execuçãoComando EXIT: Concluindo a execução
Supondo que eu queira saber se determinado arquivo existe. Se ele
existir, o badcom continuará com a execução normalmente, mas se não existir,
irá para a execução.
Podemos fazer isso utilizando o comando exit, que tem algumas opções:
Estas opções não são usadas, portanto, não haverá explicação delas.
Apostila de Criação de Badcoms
XXVIII
CCCComando CLS: Limpando a telaomando CLS: Limpando a telaomando CLS: Limpando a telaomando CLS: Limpando a tela
Pois bem, estamos quase acabando estes comandos iniciais que são úteis
para organização e teste de badcoms. Em um teste de um badcom muito
extenso, a tela pode ficar muito cheia e podemos utilizar o comando cls para
limpá-la, isto é, apagar o seu conteúdo e mostrar um novo prompt.
Este comando não oferece opções.
Acabamos, agora, estes comandos iniciais. Agora vem o “grosso”:
comandos que apagam, renomeiam, movem e copiam pastas e arquivos. Peço
cautela nesta parte, pois todos estes comandos, se mal utilizados ou utilizados
maliciosamente. Eles são simples e poderosos, mesmo alguns oferecendo várias
opções, o que os torna ainda mais perigosos.
Permita-me explicar melhor. Um badcom pequeno abre uma janela que
não dura nem um segundo na tela; isto significa que mesmo que o comando
nocivo esteja só no final do arquivo, não dará tempo de fechá-la. Se o arquivo
que foi excluído ou teve o nome modificado era importante e o computador for
reiniciado, é possível que o Windows nem inicie mais. Por isso tome cuidado, e
tome cuidado. Os avisos que dou são importantes e se forem ignorados podem
levar a danos irreversíveis nas informações no computador guardadas e nos
neurônios, causando uma forte dor de cabeça...
Dr. Elek_Meag XXIX
Comando DEL: Apagando arquiComando DEL: Apagando arquiComando DEL: Apagando arquiComando DEL: Apagando arquivosvosvosvos
Como vocês bem sabem, alguns arquivos são inúteis e é preciso apagá-
los para que não ocupem espaço no disco rígido indevidamente. Porém, quem
diferencia o arquivo útil do inútil é o usuário: o computador apaga os dois tipos
sem distinção.
O comando del, que vem de delete, nos permite apagar ou “deletar”
arquivos, mesmo os úteis; o del tem um sinônimo, um comando que executa
exatamente as mesmas coisas e tem as mesmas funções, o erase. Podemos
usar tanto um quanto outro quando o objetivo é apagar arquivos.
O del, porém, não é como os anteriores: ele tem opções que podem ser
utilizadas. Aqui está a janela de opções do del:
O leitor se lembra daquele papo de que os nomes de arquivos não
tinham espaços no antigo MS-DOS? Pois bem, ignore, pois quando você tiver
uma pasta ou arquivo que tem espaços no nome, coloque todo o endereço do
arquivo entre aspas, assim, ocorre a exclusão, por exemplo:
del “C:\a r q u i v o.txt”
Apostila de Criação de Badcoms
XXX
As opções que o del / erase suportam são:
/P – pede confirmação para apagar para todos os arquivos;
/F – faz a exclusão de arquivos somente leitura;
/S – apaga os arquivos das subpastas do caminho especificado;
/Q – não pede confirmação no apagamento;
/A[:][R][H][S][A] – só apaga os arquivos que tenham os atributos
escolhidos, que podem ser:
R – arquivos somente leitura;
H – arquivos ocultos;
S – arquivos do sistema;
A – arquivos para arquivamento.
Geralmente, um badcom tenta causar danos discretamente, sem chamar
muito a atenção do usuário, por isso, não é aconselhável o uso da opção /P em
badcoms. Pode se usar del /F /S /Q arquivo, assim, ocorre a exclusão
mesmo se o arquivo for somente leitura, se for uma pasta, apaga todo o
conteúdo da pasta e o mais importante, não pede confirmação para
apagamento. Resumidamente, é perfeito.
Lembro-lhes que este comando só apaga arquivos: para apagar pastas,
você usa outro comando. Se for informada uma pasta e utilizado a opção /S,
apenas o conteúdo dela será perdido.
Este comando não é como o excluir da interface gráfica; não há lixeira e
se um arquivo é apagado, é perdido, a não ser que se use um recuperador de
arquivos excluídos, embora ele possa não recuperar o arquivo, ou recuperar um
arquivo corrompido.
Com ele também pode ser usado o caractere curinga *, o asterisco, para
excluir vários arquivos com a mesma extensão ou vários arquivos de mesmo
nome com extensões diferentes.
Novamente, recomendo que este comando seja utilizado com bastante
cautela para não causar dor de cabeça a quem está escrevendo seu badcom.
Dr. Elek_Meag XXXI
Comando RD: Excluindo pastasComando RD: Excluindo pastasComando RD: Excluindo pastasComando RD: Excluindo pastas
Normalmente, excluir um arquivo já é o bastante em um badcom e
dependendo do arquivo, o Windows pode não mais ser inicializado. Porém,
quando é do desejo uma abrangência de danos maior, embora não
recomendada, é possível apagar uma pasta.
Apagar pastas se torna possível através do comando rd, abreviação de
remove directory, remover diretório, já que pasta é apenas um apelido, visto o
ícone de um diretório em ambiente Windows.
Esse comando, assim como o del, exige bastante cautela!
Eis as opções do rd:
O rd é mais simples que o del, pois tem menos opções:
/S – Apaga os arquivos que estão dentro da pasta. Se a pasta tiver
arquivos e não for usada esta opção, a exclusão não será feita;
/Q – Não pede nenhuma confirmação para apagar a pasta.
Obviamente, quando ambas as opções estão unidas, elas têm grande
poder destrutivo e não chamam atenção do usuário. Podem ser excluídas pastas
como a Windows, que comporta o S.O. O sinônimo de rd é rmdir.
Pois bem, chegamos ao fim das exclusões, vamos agora aos comandos
de movimentação e de cópia.
Apostila de Criação de Badcoms
XXXII
Comando MOVE: Movendo arquivosComando MOVE: Movendo arquivosComando MOVE: Movendo arquivosComando MOVE: Movendo arquivos
Em ambiente Windows com interface gráfica, usamos o comando
recortar, que aparece em um menu quando clicamos com o botão auxiliar no
arquivo. Depois, nós “colamos” o arquivo em outra pasta. Essa operação nada
mais é do que mover o arquivo.
No prompt, o comando que nos permite mover arquivo é o move, um
nome bastante intuitivo:
As opções do comando move são:
/Y – Não pede confirmação para substituir arquivos se o arquivo de
destino especificado já existir.
/-Y – Faz o oposto de /Y: pede confirmação para substituir arquivos se o
arquivo de destino especificado já existir.
Dr. Elek_Meag XXXIII
Comando COPY: Copiando arquivosComando COPY: Copiando arquivosComando COPY: Copiando arquivosComando COPY: Copiando arquivos
No Windows, para copiar arquivos, isto é, duplicá-los, é necessário
executar o comando copiar e depois o comando colar, no lugar desejado, que
aparecem no menu que se abre quando se clica com o botão auxiliar sobre o
arquivo. No prompt, porém, a tarefa deixa de ser trabalhosa, usando-se do
comando copy, que também serve para fundir arquivos:
O copy tem as seguintes opções:
/A – O arquivo referenciado se trata de ASCII;
/B – O arquivo referenciado é binário;
/D – Dá permissão para criar arquivos copiados sem criptografia;
/V – Verifica a cópia para ver se foi feita corretamente;
/N – Dá o nome ao arquivo no formato 8.3;
/Y – Não pede confirmação para substituir arquivos, /-Y faz o oposto;
/Z – Copia arquivos de rede em modo reiniciável.
Apostila de Criação de Badcoms
XXXIV
Comando REN: Renomeando arquivosComando REN: Renomeando arquivosComando REN: Renomeando arquivosComando REN: Renomeando arquivos
Renomear significa dar um novo nome, ou seja, nomear novamente e o
comando que faz isso, no prompt de comando, se chama ren:
O sinônimo do ren, como já deve ter percebido, é o rename.
Este comando não possui opções, mas nem por isso é tão seguro assim:
se um arquivo importante para o sistema operacional for renomeado, ele deixa
de ser reconhecido e o Windows apresentará problemas.
Finalizamos, agora, a parte dos comandos básicos mais perigosos. Agora,
restaram apenas dois comandos daquela lista: o md e o cd, que são seguros e
serão abordados.
Dr. Elek_Meag XXXV
Comando MD: Criando pastasComando MD: Criando pastasComando MD: Criando pastasComando MD: Criando pastas
Quando estamos em um ambiente gráfico Windows, para criar uma
pasta, é necessário, no local desejado, clicar com o botão auxiliar; um menu dali
se desdobra e quando passamos o mouse por Novo, abre-se um outro menu, e
ali, clicamos em Pasta.
No prompt de comando, o md resolve o problema. Md vem de make
directory, isto é, fazer diretório e um sinônimo é o mkdir. Não tem opções.
Como pode ser visto na imagem, para criar uma pasta, basta usar a
sintaxe md [unidade:]pasta, lembrando que é possível criar uma pasta dentro
de uma outra pasta que está para ser criada, obedecendo sempre a sintaxe de
md [unidade:]pasta\pasta. Novamente, se é necessário dar um nome com
espaços à pasta, usa-se aspas.
Apostila de Criação de Badcoms
XXXVI
Comando CD: Mudando a pasta abertaComando CD: Mudando a pasta abertaComando CD: Mudando a pasta abertaComando CD: Mudando a pasta aberta
Acho que esta é a única tarefa que é menos trabalhosa em ambiente
gráfico do que em prompt, afinal, basta dar um clique duplo para que a pasta se
abra. No prompt, isso pode ser feito através do comando cd, que vem de
change directory e cujo comando de mesma função é chdir.
Se trata de um comando simples, sem opções que são freqüentemente
utilizadas. Uma tela com as opções do cd:
Nota-se que ele tanto serve para mudar a pasta atual como para exibi-la,
se for executado sem complementos que definam a pasta de destino. Também,
para pastas que tenham espaço(s) no nome, usam-se as aspas.
Aqui finalizamos os comandos da lista, mas ainda há mais por estudar.
Dr. Elek_Meag XXXVII
RecorteRecorteRecorteRecorte
Retirado da Revista UnderHack #2, de Outubro de 2008, página 19:
“
Segurança para BadcomsSegurança para BadcomsSegurança para BadcomsSegurança para Badcoms Como eu já disse, badcoms podem ser extremamente perigosos, portanto,
valem algumas regras para quando estiver escrevendo um: 1. Salve inicialmente o badcom para um arquivo .txt, que não é perigoso; 2. Use, antes de cada comando potencialmente danoso o comando
“pause” para pedir confirmação de continuidade; 3. Não use opções de remoção de confirmação, que em alguns
comandos é apresentado com o nome de prompt; 4. Quando for escrever o badcom, deixe a parte destrutiva para o final,
faça primeiro o “fluxo”; Se forem tomadas essas quatro atitudes, criar badcoms não vai causar
nenhum problema. Caso deseje uma segurança adicional, use máquinas virtuais, programas que simulam um S.O. dentro de uma janela. Assim, se algo der errado, somente o S.O. virtual é danificado. Entre os principais programas de máquina virtual estão o VMware e o Virtual PC.
”
Apostila de Criação de Badcoms
XXXVIII
RecapitulandoRecapitulandoRecapitulandoRecapitulando
Eis um pequeno resumo dos comandos abordados até agora:
echo – Exibe uma frase e pode ser usado para ocultar os comandos;
prompt – Modifica o prompt;
rem – Demarca um comentário;
pause – Pausa a execução do badcom;
exit – Interrompe a execução do badcom;
cls – Limpa a tela;
del – Apaga um ou mais arquivos;
rd – Apaga uma pasta;
move – Move um arquivo para outro lugar e pode ser usado para
renomear pasta;
copy – Copia um arquivo;
ren – Renomeia um arquivo;
md – Cria uma pasta;
cd – Modifica a pasta aberta.
Leia novamente a explicação dos comandos que não foram bem
compreendidos, saber esses comandos é o básico para fazer badcoms, sem uma
base não se constrói um prédio, ou se constrói um prédio que desaba com a
primeira brisa.
Dr. Elek_Meag XXXIX
Apostila de Criação de Badcoms
XL
Dr. Elek_Meag XLI
Módulo IIMódulo IIMódulo IIMódulo II
reio que até agora nada de espalhafatoso ou esdrúxulo seja
abordado, portanto, porque não continuar?! O módulo I foi
apenas uma introdução básica à escrita dos badcoms, para se
escrever um bom badcom é preciso conhecer mais comandos. É por isso que
existe o nível II. Sinceramente, saber só aquele tiquinho quase que não dá para
fazer um badcom, e tentar só vai levá-lo à conclusão de que necessita de mais
conhecimento nessa área.
Esse um meio da publicação é muito importante, pois aqui estão os
comandos de fluxo, o redirecionamento de I/O, alguns comandos
importantíssimos e também, um pouco sobre compilação de badcoms.
Manipulação de tempo e tarefas, criação de arquivos e uma exploração do
registro para modificação de configurações. Digamos que aqui está uma
complementação e uma adição de malvadeza ao conhecimento...
Para a maioria dos usuários que querem criar seus badcoms, o fim do
interesse está na conclusão deste nível de conteúdo.
Retornando ao assunto, existe ainda um comando especial que
transforma o badcom em um vírus, não é nada do tipo virii badcom.bat, mas
pode ser útil, transformando essa apostila praticamente em uma odisséia sobre
criação de badcoms e de VÍRUS.
Mas chega de conversa e vamos direto ao assunto.
Aliás, qual é ele?!
C
Apostila de Criação de Badcoms
XLII
O AssuntoO AssuntoO AssuntoO Assunto
Os comandos abordados no módulo II são:
at
attrib
call
comp
date
find
for
format
goto
if
label
set
subst
time
type
Além disso, há os seguintes assuntos:
• Redirecionamento de I/O;
• Exploração do registro;
• Transformando badcoms em vírus;
• Compilação de badcoms.
Como vemos, há bastante trabalho pela frente, vamos, então, começar
com os comandos.
Dr. Elek_Meag XLIII
Os ComandosOs ComandosOs ComandosOs Comandos
Nesse módulo, há mais comandos do que no primeiro: a questão é que
os comandos desse módulo permitem fazer coisas mais “espertinhas” deixando
o badcom mais temperado. Pois bem, comecemos a explicação. Algumas
imagens das opções dos comandos não poderão ser postas na integridade: a
ajuda do comando é tão grande assim. Porém como sempre não há muitas
opções, o tamanho se deve a explicações.
Comando FORMAT: FormatanComando FORMAT: FormatanComando FORMAT: FormatanComando FORMAT: Formatando uma unidadedo uma unidadedo uma unidadedo uma unidade
Quando o objetivo é de fato apagar todos os arquivos e pastas de uma
unidade, uma alternativa poderosa é o comando format, mas ele tem um
porém, ele sempre, sem exceção, pede confirmação, a desvantagem do format.
Felizmente, há um meio de contornar o problema que será abordado
posteriormente.
Eis as opções do format:
Note que não estão ali todas as opções do comando.
É aconselhável que o leitor cheque-as usando o help.
Apostila de Criação de Badcoms
XLIV
As opções do format são as seguintes:
/FS:sistema_de_arquivos – Especifica o sistema de arquivos da
formatação, podem ser utilizados FAT, FAT32 ou NTFS;
/V:nome – Dá um nome à unidade;
/Q – Executa formatação rápida;
/C – Para NTFS: os arquivos serão compactados automaticamente;
/X – Força a desmontagem do volume;
/A:tamanho – Especifica tamanho de alocação de dados;
/F:tamanho – Especifica tamanho do disquete;
/T:trilhas – Especifica o número de trilhas por lado de disco;
/N:setores – Especifica o número de setores por trilha.
A sintaxe é:
format volume [opções]
Sobre a formatação rápida. A formatação normal primeiramente limpa o
HD dos arquivos antigos e depois disponibiliza o espaço na tabela de endereços
de arquivos. Já a formatação rápida apenas disponibiliza o espaço na tabela.
Sendo assim, os arquivos continuam lá.
Para uma maior garantia de que os arquivos não poderão ser
recuperados, deve ser executada a formatação normal. Para apagar
definitivamente, é preciso várias formatações.
Digo isso porque existem programas especializados em recuperação de
dados, softwares esses muitas vezes eficientes, conseguindo o usuário
(avançado) recuperar os dados.
Normalmente, não é necessário utilizar as opções /A, /F, /T e /N, pois o
“comando” já detecta automaticamente estes dados para uma formatação
correta.
Para utilizar a opção /FS é preciso saber um pouco sobre os sistemas de
arquivos utilizados na família Windows. O mais antigo que pode ser usado é o
FAT e o mais recente o NTFS. A partir do NT, o padrão é o NTFS.
Dr. Elek_Meag XLV
Comando LABEL: Nomeando UnidadesComando LABEL: Nomeando UnidadesComando LABEL: Nomeando UnidadesComando LABEL: Nomeando Unidades
Não é necessário formatar toda a unidade e fazer uma cópia de todos os
dados para dar um nome a ela. No prompt de comando podemos utilizar o
comando label para isso.
Eis as opções do comando:
Como podem ver, a única opção deste comando é a /MP, que
normalmente não é utilizada.
Para nomear um unidade, basta seguir a seguinte sintaxe:
label [unidade:][rótulo]
Supondo que eu tenha executado label C:NOME, a unidade terá a
seguinte aparência em Meu Computador:
É um comando meio inútil quando se está escrevendo um badcom, mas
serve para fazer algumas brincadeirinhas com o nome das unidades, como usar
palavras chulas ou bobagens como nome de unidade.
Apostila de Criação de Badcoms
XLVI
Comando SUBST: Associando pastas a unidadesComando SUBST: Associando pastas a unidadesComando SUBST: Associando pastas a unidadesComando SUBST: Associando pastas a unidades
Provavelmente o leitor já teve vontade de ter um acesso mais rápido a
determinadas pastas, sem o uso de atalhos. Na verdade, o objetivo era
“transformar” essa pasta em uma unidade, para que aparecesse em Meu
Computador.
É para essa tarefa que existe o comando subst.
As opções de subst:
Como é visível, a única opção é /D, que serve para apagar uma unidade
virtual, isto é, desfazer esse vínculo entre unidade/pasta.
Esse comando tem a seguinte sintaxe:
subst [unidade1: [unidade2:]caminho]
Sendo que unidade1 é a unidade a que será atribuída a unidade2, e o
caminho, se houver. Por exemplo, para vincular a pasta C:\Windows à unidade
Z:, usa-se subst Z: C:\Windows.
O nome da unidade virtual é o mesmo que o da real a que foi vinculada,
assim sendo, o label não consegue modificá-lo. Outra limitação é que não é
possível vincular uma pasta à outra unidade já existente. É possível formatar
essas unidades virtuais.
Dr. Elek_Meag XLVII
Comando TIME: MComando TIME: MComando TIME: MComando TIME: Modificandoodificandoodificandoodificando a hora a hora a hora a hora
É evidente que todos os usuários, inclusive os novatos, conhecem o
relógio do Windows: ele faz basicamente o que relógio de parede faz, marca as
horas. :P
Acontece que essas horas podem ser mudadas, ou então, exibidas,
através do comando time, tempo em inglês, um nome bem sugestivo...
A tela... :
Notavelmente, o comando tem apenas uma função, /T, que seve para
apenas mostrar a hora, já que originalmente time serve para modificar a hora.
A hora nova, que o sistema assumirá depois da execução do comando,
deve obedecer ao padrão horas:minutos, com o dois pontos servindo como
divisão.
Não é permitido o uso de 24:00, o correto é utilizar 00:00, para indicar a
meia-noite.
Esse comando é praticamente inútil, mas pode ser usado para fazer uma
brincadeirinha de mau gosto com o usuário, a de modificar a hora para que ele
se atrase no trabalho, ou algo assim...
Apostila de Criação de Badcoms
XLVIII
Comando DATE: Modificando a dataComando DATE: Modificando a dataComando DATE: Modificando a dataComando DATE: Modificando a data
O relógio do Windows, além de marcar as horas, também tem um
calendário. Para ver a data atual, basta deixar o cursor em cima do calendário.
Se quisermos fazer uma brincadeirinha, de mudar a data, é possível faze-
la através do comando date, data em inglês, outro comando bem sugestivo.
A tela de opções do date:
Como pode-se notar, a única opção, assim como no comando time, é a
/T que serve para apenas exibir a data atual.
A nova data, se o comando for utilizada para modificá-la, deve obedecer
ao padrão dd/mm/aaaa, isto é, dois caracteres, primeiro, para o dia, uma barra,
dois caracteres para o mês, segundo, um barra e por último, quatro caracteres
para ano, como em 11/12/2008.
Datas inválidas são automaticamente recusadas, portanto, não adianta
tentar mudar a data para trinta de fevereiro, nem para dia trinta e um de meses
que têm apenas trinta dias.
Dr. Elek_Meag XLIX
Comando AT: Agendando tarefasComando AT: Agendando tarefasComando AT: Agendando tarefasComando AT: Agendando tarefas
Você já pensou em executar automaticamente alguma tarefa em seu
computador na quinta-feira, por exemplo? Não seria interessante agendar o
apagamento de um arquivo apenas um mês depois da execução do badcom,
para eliminar suspeitas? Agendar tarefas é possível através do comando at.
O at é um comando com algumas opções:
Estas opções, obviamente, servem para especificar melhor como e
quando a tarefa desejada deve ser executada.
Esta “agenda” de tarefas fica guardada e é visível ao usuário se for
aberta através do Painel de Controle, em Tarefas agendadas, uma fraqueza,
mas como a maioria dos usuários não checa, pode “por fé”.
Infelizmente, não é tão completo como na interface gráfica, que permite
executar comandos ao iniciar do computador, entre outras coisas, mas pode ser
utilizado.
Apostila de Criação de Badcoms
L
As opções do at são:
\\computador – Especifica em que computador executar a tarefa. Se o
computador em que o badcom for executado estiver em rede, este comando
permite agendar tarefas em outros computadores da rede;
id – Especifica o número de identificação da tarefa;
/DELETE – Apaga alguma tarefa;
/YES – Usado com o comando para cancelar todos os trabalhos quando
nenhuma confirmação adicional for necessária;
/INTERACTIVE – Permite que o usuário consiga interagir com a tarefa.
Por exemplo, que ele consiga usar um programa que é executado;
/EVERY:data[,...] – Especifica a freqüência de execução. Pode conter
uma data ou mais;
/NEXT:data[,...] – Especifica a próxima execução da tarefa.
Estas opções já são suficientes para eliminar qualquer suspeita sobre
qualquer execução de badcom...
Dr. Elek_Meag LI
Comando ATTRIB: Modificando atributos de arquivosComando ATTRIB: Modificando atributos de arquivosComando ATTRIB: Modificando atributos de arquivosComando ATTRIB: Modificando atributos de arquivos
Chegamos à “manipulação” de arquivos. Isso é muito importante, pois
permite fazer muitas pegadinhas. ☺
Para quem não está familiarizado, ainda, com o Windows, os arquivos
podem assumir atributos especiais. É um modo de classificá-los e ordená-los. Os
arquivos podem ser classificados como:
• Arquivos de somente leitura;
• Arquivos de leitura-gravação;
• Arquivos de sistema;
• Arquivos ocultos.
Os arquivos com o atributo de somente leitura permitem apenas a
abertura e não permitem que haja modificação. Os arquivos com o atributo de
leitura-gravação permitem a abertura e a modificação. Os arquivos de sistema
são os arquivos importantes que pertencem ao Windows e normalmente não
são visíveis. Os arquivos ocultos, obviamente, são ocultos ao usuário.
A “utilidade” de attrib é a de que ele pode tornar todos os arquivos de
uma pasta importante, como a Meu Documentos, que é onde estão documentos
e planilhas como somente leitura, impossibilitando a modificação. Permite
também ocultar todos os arquivos do HD.
Se for do seu desejo ver os arquivos ocultos, faça o seguinte:
Abra o Meu Computador, vá no menu Ferramentas e clique no botão
Opções de pasta..., lá, clique na guia Modos de exibição e desça a barra de
rolagem de Configurações avançadas até embaixo, lá irá aparecer a opção, em
Pastas e arquivos ocultos, Mostrar pastas e arquivos ocultos:
Isso tornará os arquivos ocultos visíveis, que terão o ícone com uma
aparência semi-transparente, ao contrário dos outros arquivos, que têm
aparência sólida.
Estas são as opções do comando attrib:
Apostila de Criação de Badcoms
LII
/S – Aplica os atributos à pasta e aos arquivos e subpastas;
/D – Aplica os atributos também a pastas.
Para ativar, usa-se + e para desativar - antes da letra relacionada ao
atributo, que podem ser:
• R para atributo de somente leitura;
• A para atributo de leitura-gravação;
• S para atributo de arquivo de sistema;
• H para atributo de arquivo oculto.
É possível também que se defina mais de um atributo de uma vez,
exceto, se a combinação de letras resultante tiver R e A, pois os dois atributos
são opostos, de resto, não há restrições.
Dr. Elek_Meag LIII
Comando COMP: CoComando COMP: CoComando COMP: CoComando COMP: Comparando arquivosmparando arquivosmparando arquivosmparando arquivos
Não é muito útil, exceto quando se está a escrever vírus, mas de
qualquer modo, será estudado.
O comp serve para comparar arquivos, descobrir se dois ou mais arquivos
são iguais e se não são, descobrir suas diferenças. Eis uma janela com suas
opções:
As opções são:
/D – Mostra as diferenças em formato decimal;
/A – Mostra as diferenças em ASCII;
/L – Mostra números de linha para cada diferença;
/N=número – Compara somente o número de linhas especificado, no
início do arquivo;
/OFF[LINE] – Não ignora arquivos off-line.
Não é um comando que seja muito utilizado, nem em badcoms, nem para
outros propósitos.
Apostila de Criação de Badcoms
LIV
Comando FIND: Encontrando textoComando FIND: Encontrando textoComando FIND: Encontrando textoComando FIND: Encontrando texto
Normalmente, quando estamos em uma página e queremos localizar
algum termo, usamos a pesquisa do navegador, as teclas de atalho geralmente
são Ctrl+F ou F3.
Podemos usar esse recurso também no prompt de comando, através do
comando find, encontrar em inglês. Este comando nos permite, quando
estamos fazendo vírus, encontrar assinaturas de infecção, isto é, saber se
determinado arquivo já está infectado. Fora isso, não é muito útil.
A janela de opções do find é esta:
O comando tem algumas opções:
/V – Mostra as linhas que não contêm o texto desejado;
/C – Mostra as linhas que têm o texto desejado;
/N – Mostra números de linha;
/I – Ignora diferença entre maiúsculas e minúsculas;
/OFF[LINE] – Não ignora arquivos off-line.
É um comando simples...
Dr. Elek_Meag LV
Comando TYPE: Mostrando o conteúdo de arquivosComando TYPE: Mostrando o conteúdo de arquivosComando TYPE: Mostrando o conteúdo de arquivosComando TYPE: Mostrando o conteúdo de arquivos
Este comando é bem simples e não tem opções: ele serve apenas para
mostrar o conteúdo de arquivos. A janela de ajuda dele é esta:
A sua sintaxe é algo paupérrimo:
type [unidade:][caminho]arquivo
Mesmo assim, ele pode servir para encher o HD, se utilizado
maliciosamente, coisa já abordada na Revista UnderHack #2. Isso é feito
através de um loop infinito, o type, e redirecionamento de I/O.
Também pode ser útil para ver o conteúdo de um arquivo, quando não
há vontade de usar o bloco de notas...
Apostila de Criação de Badcoms
LVI
Comando CALL: Executando um outro arquivo de lotesComando CALL: Executando um outro arquivo de lotesComando CALL: Executando um outro arquivo de lotesComando CALL: Executando um outro arquivo de lotes
Suponha que eu queira fazer um badcom, mas que tenha uma estrutura
grande, que tenha vários arquivos que são executados em Batch e em
determinado momento, eu queira, chamar outro arquivo em lotes.
Para esse tipo de tarefa, o comando call é utilizado.
Eis uma janela reduzida sobre o comando, já que a ajuda dele é extensa:
Esse é um comando sem opções, porém, é bastante elaborado pelo fato
de que permite enviar parâmetros de execução ao arquivo de lotes de destino.
Também permite chamar rótulos, coisa que será abordada mais adiante.
A sintaxe do comando é:
call [unidade:][caminho]arquivo [parâmetros]
É óbvio que é preciso, sempre ao fim do rótulo, um exit para retornar à
execução inicial, e no final dos rótulos também.
É possível também executar programas com interface gráfica a partir
desse comando.
Normalmente, é pouco usado, mas um badcom grande (e poderoso,
geralmente) utiliza-o.
Dr. Elek_Meag LVII
Comando GOTO: Pulo incondicionalComando GOTO: Pulo incondicionalComando GOTO: Pulo incondicionalComando GOTO: Pulo incondicional
Toda linguagem de programação tem seus comandos de manipulação de
fluxo, condicional e incondicional, isto é, que preenche a um requisito ou que
não preenche, mudando o fluxo sempre.
Em “linguagem” de prompt de comando, não poderia ser diferente, o
comando de “pulo” incondicional é goto.
Como percebe, o comando goto pula para um rótulo. Um rótulo é uma
palavra ou conjunto de caracteres que “nomeia” determinada parte do código. É
uma referência para o pulo do goto, afinal, ninguém pula de uma cadeira se não
souber onde vai cair. Um rótulo sempre é indicado com dois pontos que o
precedem, como em :rotulo.
O goto é um comando sem opções, por isso, é muito simples. Em alguns
casos, quando se quer usar parâmetros geralmente, o goto é substituído pelo
call. Sua sintaxe também é muito simples:
goto rotulo
Sendo que em goto não se põe dois pontos antes do rótulo, como no
exemplo. Para executar um loop infinito, cria-se um rótulo (, executa algum
comando) e cria-se um goto para o rótulo logo a cima, repetindo o loop até a
janela ser fechada, ou ser teclado Ctrl+C.
Apostila de Criação de Badcoms
LVIII
Comando IF: Pulo condicionalComando IF: Pulo condicionalComando IF: Pulo condicionalComando IF: Pulo condicional
Ao contrário do goto, o if é um comando de pulo condicional, comum a
todas as linguagens de programação, inclusive as direcionadas à web. Ele
permite modificar o fluxo se determinado requisito preenchido; se o requisito
não é preenchido, nada acontece.
Aqui está uma janela sobre o if:
É um comando importante, pois permite que o badcom “saiba” várias
coisas. Tem vários operadores, por isso, é um comando muito complexo e
requer um estudo profundo, coisa que não é possível de ser feita em uma
apostila sucinta.
Não existe uma só sintaxe, visto que há vários operadores e também
várias partículas de negação, de existência de arquivos, de checagem de retorno
de comandos e programas...
É possível, através desse comando em conjunto com o comando set,
montar um jogo, um quiz que apaga algum arquivo se o usuário erra a questão.
É simplesmente indescritível, pelo menos para esta apostila.
Novamente, um estudo profundo é recomendado, para total utilização
dos recursos que o if fornece.
Dr. Elek_Meag LIX
Comando SET: Variáveis em prompt de comandoComando SET: Variáveis em prompt de comandoComando SET: Variáveis em prompt de comandoComando SET: Variáveis em prompt de comando
Este comando é muito importante e pode ser muito utilizado, tanto em
badcoms como em vírus. Ele serve para criar e excluir variáveis, além de
mostrar as que já estão ativas.
Apesar da simplicidade, é muito útil. A utilidade das variáveis é extensa,
pois pode guardar várias coisas. Mas o principal uso (que dou) é o de guardar
endereços virtuais de arquivos. Assim, não é necessário digitar todo o endereço
a cada vez que quiser se referir a determinado arquivo.
É também, um comando com um “help” bem grande, e sua leitura é
aconselhada.
A sintaxe para definir uma variável através do set é:
set [variável=[caracteres]]
Para utilizar variáveis, coloca-se o nome delas entre sinais de
porcentagem, como em %VAR%.
Quando o SET é executado sozinho, sem definição de variáveis, ele exibe
as que já estão ativas. O Windows já dá algumas variáveis prontas que se
referem a pastas e unidades chave do sistema, algo muito bom para quem
escreve badcoms.
Apostila de Criação de Badcoms
LX
Estas são as principais*:
ALLUSERSDATA
Pasta onde ficam guardados os dados dos usuários do
computador.
Geralmente fica em C:\Documents and Settings\All Users .
COMPUTERNAME Nome do computador.
Depende do usuário na hora da instalação do Windows.
ProgramFiles Pasta onde ficam os dados dos programas instalados.
Geralmente fica em C:\Arquivos de programas .
SystemDrive Unidade onde está instalado o Windows.
Geralmente fica em C:
SystemRoot Pasta onde está instalado o Windows
Geralmente fica em C:\Windows
USERPROFILE Pasta onde ficam guardados todos os dados do usuário que
está atualmente logado.
Há ainda algumas variáveis que podem ser úteis.
Quando se quer fazer algo que recebe um valor aleatório, há a RANDOM,
em uso, %RANDOM%. Cada vez que ela é referenciada, tem um valor numérico
diferente. É muito útil quando se quer renomear arquivos em massa ou quando
se quer modificar a senha do usuário.
Há também as %TIME% e %DATE%, ilustradas já em uso, que dão o
valor da hora e da data, respectivamente, no mesmo formato dos comandos
time e date.
Por último, entre outras dessas variáveis padronizadas, há a %CD%: a
pasta que está atualmente aberta.
Se quiser saber integralmente as possibilidades que o comando SET dá,
execute help set, embora esse texto seja bastante esclarecedor.
* A tabela foi retirada da Revista UnderHack #2 e foi aumentada.
Dr. Elek_Meag LXI
Comando FOR: Executando comandos em arquivosComando FOR: Executando comandos em arquivosComando FOR: Executando comandos em arquivosComando FOR: Executando comandos em arquivos
Esse comando, então, nem se fala.
De cara, já recomendo que seja feito um estudo profundo e aviso que
este comando não será totalmente abordado nesta apostila, até pelo fato de
que isso é praticamente impossível.
O for serve para deixar o programa mais compacto, sua funcionalidade é
a de executar o comando especificado para cada arquivo especificado. Uma tela
das suas opções:
A janela não está completa, por isso, help for.
Comecemos a explicação; “%variável” se trata da variável, obviamente,
que vai guardar temporariamente o nome do arquivo, presumo eu. Para
badcoms, devemos usar %%variável, invés de %variável.
“conjunto” é o arquivo ou arquivos que serão modificados, podem ser
utilizados curingas.
“comando”, obviamente, é o comando a que os arquivos inclusos em
conjunto serão submetidos. E “parâmetros” são as opções do comando.
Supondo que eu queira apagar os arquivos notepad.exe e calc.exe, isto é,
o bloco de notas e a calculador, eu executaria o for no seguinte formato:
for %f in (notepad.exe, calc.exe) do del %f /F /Q
Lembre que para arquivos de lotes, dobra-se o sinal de porcentagem.
Apostila de Criação de Badcoms
LXII
Redirecionamento de I/ORedirecionamento de I/ORedirecionamento de I/ORedirecionamento de I/O
I/O é uma abreviação de Input/Output, em inglês, entrada/saída. Assim
sendo, redirecionamento de I/O também pode ser chamado de
redirecionamento de E/S...
Imagine uma tubulação, que tem um cano central, por onde, por padrão
a água entra e sai, e tem mais outras duas saídas e duas entradas, que são
normalmente vedadas, por ali não passa água. Podemos se quisermos
redirecionar a entrada, fazendo a água entrar por dos dois outros canos de
entrada. Também podemos fazer a água sair por um cano diferente.
É nisso que se baseia o redirecionamento de I/O, mudar o curso padrão
das informações fazendo-as entrar por um lugar diferente, ou sair por outro
gargalo não-padronizado.
Esse recurso nos permite, por exemplo, fazer com que, por exemplo, um
arquivo seja fundido a outro, através do comando type, que exibe o conteúdo
do primeiro arquivo. Isso inutilizaria os dois...
O redirecionamento de I/O funciona a partir de quatro operadores, são
eles <, >, << e >>. O destino da informação depende da direção para qual a
seta aponta: quando a seta aponta para a direita, segue a lógica de
transferência origem > destino, quando a seta aponta à esquerda, a lógica é
destino < origem.
Se fosse executado o comando echo Hello World! > arquivo.txt, o arquivo arquivo.txt seria criado, se não existisse, todo seu conteúdo seria apagado (se existisse) e no lugar, seria posto “Hello World!”.
Já, se fosse executado o comando echo Hello World! >> arquivo.txt, com o operador duplo, o arquivo arquivo.txt seria criado se não existisse, e seria adicionado ao final do arquivo “Hello World!”. Perceberam a diferença? Um substitui, o outro inclui.
O leitor se lembra do comando format, em que não era possível formatar sem
pedir confirmação? “Seus problemas acabaram!”, é possível contornar esse “bug” a
partir do redirecionamento de I/O. Para isso, é preciso ter um arquivo com as respostas
às confirmações e enviá-las ao format, como em format C: < file.txt.
Dr. Elek_Meag LXIII
Explorando o RegistroExplorando o RegistroExplorando o RegistroExplorando o Registro
O registro é uma área na família Windows que serve para guardar as
informações dos programas instalados e das configurações estabelecidas.
Portanto, ele é muito importante.
Através da modificação de valores do registro, é possível fazer diversas
peripécias: trocar os botões do mouse, mudar o papel de parede, fazer o
teclado ficar acelerado ou devagar, enfim, muitas coisas engraçadas podem ser
feitas através do registro.
Para editar o registro através da interface gráfica, utilizamos um
programa que pode ser aberto se digitarmos regedit em Executar..., mas em
prompt de comando, um programa (veja bem, não um comando) dá conta
dessa tarefa, o reg. Esta é a sua ajuda:
Apostila de Criação de Badcoms
LXIV
Existem cinco abreviaturas das chaves principais, são elas:
HKLM para HKEY_LOCAL_MACHINE;
HKCU para HKEY_CURRENT_USER;
HKCR para HKEY_CLASSES_ROOT;
HKU para HKEY_USERS;
HKCC para HKEY_CURRENT_CONFIG.
Note que, ao contrário dos comandos, o reg usa palavras ao invés de
opções, e são essas palavras que têm opções. Estas palavras são:
QUERY – Retorna o valor da chave especificada:
As opções de reg query são:
/v VALOR – Retorna o valor especificado (VALOR é o nome da chave,
caso não seja informado, todos os valores da chave são exibidos);
/ve – Retorna o valor padrão, ou valor sem nome;
/s – Retorna todas as sub-chaves e valores.
Dr. Elek_Meag LXV
ADD – Cria valor na chave especificada:
/v – Nome do valor a ser criado;
/ve – Adicionar valor sem nome;
/t – Tipo de dado (ver figura), por padrão é REG_SZ;
/s – Caractere de separador para valores REG_MULTI_SZ, \0 é o padrão;
/d – Dados a serem atribuídos ao valor;
/f – Forçar substituição sem confirmação.
Apostila de Criação de Badcoms
LXVI
DELETE – Apaga valor na chave especificada:
As opções do comando são:
/v VALOR – Valor a ser excluído;
/ve – Excluir valor sem nome;
/va – Excluir todos os valores da chave;
/f – Força a exclusão sem confirmação.
Cautela com esse comando, pois como já se sabe, ele apaga valores, e o
valor apagado pode ser crucial para o funcionamento do sistema.
Dr. Elek_Meag LXVII
COPY – Copia valor(es):
As opções de reg copy são:
/s – Copia todas as sub-chaves e valores da chave especificada;
/f – Força a cópia sem confirmação.
Não chega a ser perigoso, mas pode ser utilizado para carregar o registro
com informações inúteis.
Apostila de Criação de Badcoms
LXVIII
SAVE (EXPORT) – Salva uma chave de registro para arquivo:
Não tem opções, pode ser útil para fazer backups do registro, assim
como para lotar o HD com arquivos com partes do registro como conteúdo.
LOAD (IMPORT) – Carrega um arquivo de registro (criado com SAVE):
Não tem opções e não é perigoso a não ser se no arquivo for inclusos
valores e chaves inválidos ou maliciosos.
Dr. Elek_Meag LXIX
UNLOAD – Descarrega uma chave (carregada com LOAD):
Não tem opções nem tem perigo.
RESTORE – Grava arquivos de registro (criados com SAVE) no registro:
Não tem perigos, a não ser em caso de substituição de chave/valor por
algo malicioso. Não tem opção alguma.
Apostila de Criação de Badcoms
LXX
COMPARE – Compara dois valores/chaves ou mais:
As opções são:
/v – Define o nome do valor a ser comparado;
/ve – Compara o valor sem nome;
/s – Compara todas as sub-chaves e valores;
/oa – Retorna as diferenças e combinações;
/od – Retorna as diferenças;
/os – Retorna as combinações;
/on – Não retorna nada.
Dr. Elek_Meag LXXI
Chaves e valores especiais:Chaves e valores especiais:Chaves e valores especiais:Chaves e valores especiais:
Existem algumas chaves e valores que podem servir para pegadinhas:
CHAVE
HKEY_CURRENT_USER\Control Panel\Mouse
Valor Descrição
DoubleClickSpeed [900~200] Velocidade do clique duplo
MouseSensivity [1~20] Sensibilidade do mouse
MouseSpeed [0/1] Aprimora precisão do ponteiro
MouseTrails [0~7] Exibe rastro do mouse
SwapMouseButtons [0/1] Troca botões do mouse
CHAVE
HKEY_CURRENT_USER\Control Panel\International
Valor Descrição
s1159 Sinalizador de AM
s2359 Sinalizador de PM
sCountry País
sCurrency Unidade monetária
sLanguage Sigla da linguagem
CHAVE
HKEY_CURRENT_USER\Control Panel\Appearance
Valor Descrição
SelectedStyle [1~21] Estilo gráfico selecionado
A chave guarda a localização dos programas que devem ser executados
no boot; para executar algum programa no boot, basta adicionar um valor e por
o endereço do programa como dados do valor:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Apostila de Criação de Badcoms
LXXII
VírusVírusVírusVírus
Estamos, aos poucos, chegando ao fim do módulo, ainda falta abordar o
assunto dos vírus e falar sobre a compilação de badcoms.
A diferença entre vírus e badcoms é, na verdade, muito simples: os vírus
se reproduzem, os badcoms não. Um badcom pode ser transformado em vírus
muito facilmente, embora esse tipo de vírus não seja muito contagioso, afinal,
ele é escrito em “linguagem” de prompt de comando, o que não permite
mandar o vírus por e-mail, por exemplo. Até há como enviar por e-mail, mas
enviar para qual e-mail, já que é difícil alguém guardar e-mails em formatos que
o vírus possa “ler”?
As possibilidades extremamente limitadas de transmissão reduzem a
infecção a se copiar para outros arquivos .bat, ou sobrescreve-los com seu
código, o que com certeza é mais eficiente. A questão é que ninguém usa mais
a extensão .bat. É possível compilar o badcom para .exe, mas não há ganho
significativo, o vírus consegue apenas sobrescrever outros programas, muda a
extensão, apenas. A verdade é que é preciso ser muito engenhoso para
escrever vírus em prompt de comando.
Simplesmente é uma tarefa difícil.
Já isolei um vírus em batch que se copiava para todos os drivers, foi
assim que o contrai, através de um pen drive. Felizmente, ele não era destrutivo
e consegui detê-lo. De qualquer modo, ele era muito bem feito. Mas não passa
disso.
Como deixei vocês curiosos e esse recurso também pode ser utilizado
para ir “corroendo” as informações pouco a pouco, ensinarei como transformar
os badcoms em vírus.
É preciso, antes, saber um pouco mais da natureza dos vírus. Todos os
vírus bons, sem exceção, têm uma incubação. Incubação é o período em que o
vírus fica inativo, para conseguir se replicar. Depois da incubação vêm os danos.
E o comando que transforma vírus em badcoms é...
Dr. Elek_Meag LXXIII
FOR FOR FOR FOR –––– Transformando badcoms em vírus Transformando badcoms em vírus Transformando badcoms em vírus Transformando badcoms em vírus
Até que enfim, este é o comando que pode ser utilizado para transformar
vírus em badcoms, o nosso for. A função de for é repetir um mesmo comando
para vários arquivos diferentes, então podemos usá-lo para infectar outros
arquivos, espalhando o nosso vírus.
Há uma coisa importante que o leitor tem de saber. Quando estamos
fazendo vírus em arquivos de lotes, para nos referir ao arquivo do próprio vírus,
usamos %0.bat. Se você compilar o seu vírus .bat para .exe, é necessário
mudar a extensão, no código-fonte, para .exe, senão o vírus não se replicará,
não encontrando nenhum arquivo com seu nome, mas com a extensão .bat.
Bom, voltemos o assunto. Esse é um exemplo de rotina bem básica de
infecção de vírus:
Porém, esse código tem dois grandes problemas. O primeiro é que
mesmo um arquivo já estando infectado, o vírus se copiará novamente. O
segundo é que supondo que eu tenha um arquivo .bat, o vírus se copiará para o
final do arquivo, e há chances de que o .bat tenha o comando exit, ou seja, a
execução será abortada e o vírus nem será executado.
A solução seria, para o primeiro problema, deixar uma assinatura para
que possamos reconhecer depois, com o comando find, e abortar a re-infecção
e para o segundo problema, podemos criar um arquivo temporário, para o qual
copiamos nosso badcom, depois, copiamos o código do outro arquivo .bat e
substituímos o arquivo temporário pelo arquivo que queríamos infectar.
É óbvio que não conseguiremos resolver o segundo problema se o nosso
vírus .bat for compilado para .exe, pois seria necessária uma adaptação e
mesmo com ela, o executável final não rodaria.
...
:INFECTA
for %%f in (*.bat) do copy %0.bat %%f
...
Apostila de Criação de Badcoms
LXXIV
Voltemos ao assunto principal. Porém, não podemos usar mais de um
comando no mesmo for, então temos que salvar os nomes dos arquivos em
outra variável para podermos utilizá-los com mais calma.
Assim, este seria a rotina de infecção melhorada:
Infelizmente, essa rotina tem, também, dois bugs. O primeiro é que ele
não irá copiar o vírus para todos os arquivos .bat, mas sim apenas para o último
que o for achar. O segundo é que, quando infectamos um hospedeiro e o vírus
quiser se reproduzir, o hospedeiro que foi infectado irá “junto”. Mas sem
problemas.
As vezes, também funciona utilizar apenas %0, sem a extensão atrás.
Eu avisei que fazer vírus em batch era algo escroto e bem básico, mas
enfim...
E não se esqueçam, se de fato, forem fazer vírus em batch, de que um
bom vírus tem um período de incubação para que possa se reproduzir. E mais,
lembre-se que vírus .bat compilados para .exe podem dar problemas.
@ECHO OFF
REM [virii]
type %0 > filetmp
for %%f in (*.bat) do set file=%%f
find "[virii]" %file%
if not errorlevel 1 exit
type %file% >> filetmp
echo.>> filetmp
del %file%
ren filetmp %file%
exit
Dr. Elek_Meag LXXV
Compilando BadcomsCompilando BadcomsCompilando BadcomsCompilando Badcoms
Normalmente, em programação compilamos um código-fonte para que
ele possa rodar: depois da compilação ele se torna, de fato, um executável.
Embora o processo receba o mesmo nome, a compilação (que também pode ser
chamado de “conversão”, embora não estejamos convertendo nenhum badcom
ao cristianismo) de badcoms não tem nada a ver com a compilação de códigos-
fonte.
A função de compilar um badcom ou um arquivo de memória batch
qualquer é a de que não podemos ver o código. Isso se torna muito útil quando
o badcom é enviado para um usuário intermediário ou avançado. Na verdade,
só saber uns comandinhos do prompt já ajuda a impedir a execução de um
badcom. A questão é que com a compilação, não é mais possível ver o código e
o usuário ficará no mínimo curioso. Para alguns, a curiosidade é uma fraqueza e
vários dos muitos usuários acabariam por executar o badcom e por bater a
cabeça com a mesa no final da inutilização dos dados que estavam em seu HD.
Depois de compilar seu badcom, ele assumirá a aparência de um
executável: terá extensão .exe e se for especificado na hora da compilação,
pode assumir um ícone qualquer, é bom escolher um ícone de vídeo e colocar
como nome “amadoras”... ☺
Esse assunto eu já abordei na Revista UnderHack #2, mas não custa
nada (copiar e colar) tocar no tema novamente...
O programa que utilizaremos para compilar os badcoms é chamado de
Bat to Exe Converter e atualmente está na versão 1.4.1. sendo que já foi citado
anteriormente e o seu download já foi indicado. É possível encontrar o
programa em http://www.f2ko.de/downloads/Bat_To_Exe_Converter.zip.
Apostila de Criação de Badcoms
LXXVI
Esta é uma ilustração da janela do programa:
Usá-lo é uma tarefa muito simples! Eis um passo-a-passo:
1. Coloque o endereço virtual do arquivo .bat que deseja compilar no campo Batchfile, podendo usar o botão ...;
2. Passo opcional: coloque o endereço virtual do ícone, usando a extensão .ico, que deseja que o arquivo .bat compilado para .exe apresente, em Iconfile, podendo usar o botão ...;
3. Passo opcional: coloque o endereço virtual do arquivo .exe, que será o destino do arquivo .bat já compilado, em Save as, através do botão ...;
4. Passo opcional: preencha as informações adicionais que ficarão no arquivo compilado, que se tornam disponíveis para modificação após o clique em Additional informations;
5. Passo opcional: mude o modo de compilação de Console application para Ghost application, apesar de que há comentários de que esta opção não funciona;
6. Por fim, clique no botão Compile, para compilar seu arquivo .bat.
Dr. Elek_Meag LXXVII
RecapitulandoRecapitulandoRecapitulandoRecapitulando
Vamos relembrar os comandos:
at – Agenda tarefas;
attrib – Modifica atributos de arquivos;
call – Chama outro arquivo de lotes;
comp – Compara dois arquivos;
date – Modifica ou exibe a data;
find – Encontra um seqüência de caracteres em um arquivo;
for – Executa um comando em vários arquivos;
format – Formata um disco;
goto – Pula para um rótulo;
if – Executa comando se requisito for preenchido;
label – Dá nome a uma unidade;
set – Define ou mostra variáveis;
subst – Cria unidade virtual vinculada a uma pasta;
time – Exibe ou modifica a hora;
type – Exibe o conteúdo de um arquivo.
Os operadores de redirecionamento de I/O são <, >, << e >>.
Use reg para modifica o registro. Seus “sub-comandos” são:
• QUERY;
• ADD;
• DELETE;
• COPY;
• SAVE (EXPORT);
• RESTORE (IMPORT);
• LOAD;
• UNLOAD;
• COMPARE.
Apostila de Criação de Badcoms
LXXVIII
Dr. Elek_Meag LXXIX
Apostila de Criação de Badcoms
LXXX
ConclusãoConclusãoConclusãoConclusão
Enfim, acabei essa apostila. Acho que os meus leitores gostaram da
leitura: foi presentão de natal. Mesmo para quem não é cristão... :P
Foi bom escrever... ah, vamos falar a verdade! Deu trabalho? Deu! Foi
legal? Foi. Claro que foi, afinal, chego aqui ao final da odisséia, uma apostila de
83 páginas. Quero dizer, isso já poderia ser praticamente um livro. Essa foi a
maior publicação que já escrevi. E tive menos tempo para escrever do que
normalmente meu prazo para a revista concede. Para deixar ainda mais
apimentado o desafio, comecei um curso de informática há algum tempo,
tomando ainda mais o meu tempo. Foram horas bem aproveitadas aqui.
É bom saber, ou pelo menos imaginar, que daqui a alguns anos essa
apostila será referência para quem está engatinhando no hacking, aprendendo
sobre vírus e badcoms. Isso se a informática nas nuvens permitir...
É bom saber, ou pelo menos imaginar, que os olhinhos de muitos
brilharam de alegria quando leram essa apostila.
Confesso! Ela deve ter ficado um pouco monótona. Mas também, como
não ser monótono com uma porrada de comandos para abordar. Uma coisa o
leitor não pode negar: a apostila estava muito bem ilustrada.
Aos poucos nós nos vamos despedindo do ano antigo, pois está
chegando o natal e o ano novo e mesmo assim eu continuo aqui, firme,
escrevendo a apostila que nem um doido, me esforçando ao máximo só para
cumprir minha promessa: fazer o natal de uma criança feliz... ☺
Agradeço de antemão a quem quis ler.
Ah, comentem lá no Fórum Invaders, solta o verbo que a coisa não foi
fácil aqui, mas eu consegui dar um sorriso no final da apostila.
Feliz Natal.
Hou! Hooou! Hoooooou!
Dr. Elek_Meag
Dr. Elek_Meag LXXXI
Apostila de Criação de Badcoms
LXXXII