quinta-feira, 9 de dezembro de 2010

Como se tornar um Hacker



De MinholiWiki
Este texto foi originalmente escrito em Inglês por Eric Steven Raymond e pode ser encontrado em sua forma original  neste endereço. A tradução
abaixo foi realizada com o intuito de facilitar a sua leitura para iniciantes e permitir a difusão dos conceitos nele dispostos. As referências em primeira
pessoa ao autor e o seu conteúdo pertencem ao autor original.
Tabela de conteúdo
Por que este documento?......................................................................................................................2
O que é um Hacker? ............................................................................................................................2
A atitude Hacker ..................................................................................................................................3
O mundo está cheio de problemas fascinantes esperando para serem resolvidos. .........................3
Nenhum problema jamais deve ter que ser resolvido duas vezes. ..................................................4
Tédio e trabalho repetitivo são ruins. ..............................................................................................4
A liberdade é boa. ...........................................................................................................................4
Atitude não substitui competência. .................................................................................................5
Habilidades Básicas de Hackear ..........................................................................................................5
Aprenda como programar. ..............................................................................................................5
Pegue um dos Unixes de código aberto e aprenda a usar e executá-lo. ..........................................6
Aprenda a usar a World Wide Web e escrever HTML. ...................................................................7
Se você não tem Inglês funcional, aprenda. ....................................................................................8
Status na Cultura Hacker .....................................................................................................................8
Escreva software de código aberto .................................................................................................9
Ajude a testar e depurar software de código aberto ........................................................................9
Publique informações úteis. ............................................................................................................9
Ajude a manter a infra-estrutura funcionando ................................................................................9
Sirva-se à cultura hacker ...............................................................................................................10
A Conexão Hacker/Nerd ....................................................................................................................10
Pontos por Estilo ................................................................................................................................10
Outros recursos ..................................................................................................................................12
Perguntas Feitas com Frequência ......................................................................................................12
Como posso saber se eu já sou um hacker? ..................................................................................12
Você vai me ensinar a hackear? ....................................................................................................13
Como posso começar, então? ........................................................................................................14
Quando você tem que começar? É tarde demais para eu aprender? .............................................14
Quanto tempo leva para eu aprender a hackear? ..........................................................................14
Visual Basic é uma boa linguagem para começar? .......................................................................14
Você poderia me ajudar a quebrar um sistema, ou me ensinar a quebrá-lo? ................................14
Como posso obter a senha da conta de outra pessoa? ...................................................................14
Como posso invadir/ler/monitorar o e-mail de outra pessoa? ......................................................15
Como eu posso roubar privilégios de op de canal no IRC? ..........................................................15
Eu fui invadido. Você me ajudará a evitar novos ataques? ...........................................................15
Estou tendo problemas com meu software Windows. Você vai me ajudar? .................................15
Onde posso encontrar alguns hackers de verdade para conversar? ..............................................15
Você pode me recomendar livros úteis sobre assuntos relacionados com hacking? .....................15
Eu preciso ser bom em matemática para se tornar um hacker? ....................................................15
Que linguagem devo aprender primeiro? ......................................................................................16
Que tipo de hardware eu preciso? .................................................................................................16
Eu quero contribuir. Você pode me ajudar a escolher um problema para trabalhar? ....................16
Preciso odiar e esmurrar a Microsoft? ..........................................................................................16
Mas o software de código aberto não deixará os programadores incapazes de ganhar a vida? . . .17
Onde posso pegar um Unix livre? .................................................................................................17Por que este documento?
Como  editor  do  Jargon  File e  autor  de  outros  documentos  populares  de  natureza  similar,  eu
frequentemente recebo pedidos de entusiastas novatos da rede perguntando (insistentemente) "como
eu posso aprender a ser um hacker consciente?". De volta a 1996 eu percebi que não parecia haver
nenhum outro FAQ ou documento web que focasse essa pergunta vital, então eu comecei a escrever
este. Muitos hackers agora consideram-o definitivo, e eu suponho que isso significa que ele seja.
Espere, eu não desejo ser a autoridade exclusiva sobre este assunto; se você não gostar do que leu
aqui, escreve o seu. 
Se  você  está  lendo  uma  cópia  deste  documento  offline,  a  versão  atual  encontra-se  em
http://catb.org/~esr/faqs/hacker-howto.html. 
Nota: há uma lista de Perguntas Feitas com Frequência no fim deste documento. Por favor as leia
(duas vezes) antes de me enviar mensagens com quaisquer perguntas sobre este documento. 
Numerosas  traduções  deste  documento  estão  disponíveis:  Árabe,  Búlgaro,  Catalão,  Chinês
(Simplificado),  Dinamarquês,  Holandês,  Estoniano,  Persa,  Finlandês,  Alemão,  Hebraico,  Grego,
Italiano,  Japonês,  Norueguês,  Polonês,  Português (Brasileiro),  Romeno,  Russo,  Espanhol,  Turco e
Sueco. Note que, já que este documento muda ocasionalmente, elas podem estar desatualizadas em
graus variados. 
O diagrama de cinco-pontos-em-nove-quadrados que decora este documento é chamado de glider.
Ele  é um padrão simples  com algumas  propriedades  surpreendentes  em simulação matemática
chamada  Vida que  tem fascinado  hackers  por  muitos  anos.  Eu  penso  que  ele  dá  uma  boa
representação visual do que os hackers se parecem — abstrato, primeiramente um pouco misterioso
ao olhar, mas uma porta de entrada para todo um mundo com uma lógica intrincada sobre si mesmo.
Leia mais sobre o emblema glider aqui. 
O que é um Hacker? 
O Jargon File contém um monte de definições para o termo 'hacker',  a maioria tem a ver  com
intimidade técnica e o deleite de resolver problemas e superar limites. Se você quer saber como se
tornar um hacker, então, apenas dois destes tem realmente relevância. 
Existe uma comunidade, uma cultura compartilhada, de programadores experts e magos de redes
que  traçam  sua  história  desde  décadas  atrás  nos  primeiros  mini-computadores  de  tempo
compartilhado e  nos  mais  remotos  experimentos  da  ARPAnet.  Os  membros  dessa  comunidade
originaram o termo 'hacker'. Hackers construiram a Internet. hackers criaram o sistema operacional
Unix da forma como ele é hoje.  Hackers rodam a Usenet.  Hackers fizeram a World Wide Web
funcionar.  Se você é parte dessa cultura,  se você contribuiu para isso e outras pessoas  nisto o
chamam de hacker, então você é um hacker. 
A forma de pensar hacker não se restringe a essa cultura de hacker de software. Existem pessoas
que aplicam a atitude hacker a outras coisas, como eletrônica ou música — atualmente, você pode
encontrá-los nos níveis mais elevados de qualquer ciência ou arte. Hackers de software reconhecem
esses espíritos semelhantes em outros lugares e podem chamá-los de 'hackers' também — e alguns
afirmam que a natureza hacker  é realmente independente do meio particular  no qual  o hacker
trabalha. Mas no restante deste documento você irá se focar nas habilidades e atitudes de hackers de
software, nas tradições e na cultura compartilhada que originou o termo 'hacker'. 
Há um outro grupo de pessoas que ruidosamente se auto-entitulam hackers, mas não são. Essas são
pessoas (em grande parte adolescentes do sexo masculino) que possuem uma atração por entrar emcomputadores a força e por burlar o sistema telefônico. Verdadeiros hackers chamam essas pessoas
de 'crackers'  e não têm nada a ver com eles.  Hackers verdadeiros em grande parte pensam que
crackers são preguiçosos, irresponsáveis e não tão brilhantes, e sustentam que ser capaz de quebrar
segurança não faz de você um hacker mais do que ser capaz de fazer ligação direta em um carro faz
de  você  um engenheiro  automotivo.  Infelizmente,  muitos  jornalistas  e  escritores  têm usado
enganosamente a palavra 'hacker' para descrever crackers; isso irrita profundamente os verdadeiros
hackers. 
A diferença básica é esta: hackers constroem coisas, crackers as quebram. 
Se você quer ser um hacker, continue lendo. Se você quer se tornar um cracker, vá ler o newsgroup
alt.2600 e prepare-se para pegar de cinco a dez na condicional antes de achar que você não é tão
esperto quanto você pensa que é. E isso é tudo que eu vou dizer sobre crackers. 
A atitude Hacker 
Hackers resolvem problemas e constroem coisas, e eles acreditam na liberdade e na ajuda mútua
voluntária. Para ser aceito como um hacker, você precisa se comportar, bem como ter esse tipo de
atitude, por conta própria. E para se comportar dessa forma e possuir a atitude, você deve realmente
acreditar na atitude. 
Mas se você pensa em cultivar atitudes hacker  apenas como uma forma de ganhar  aceitação na
cultura, você irá perder o ponto. Tornar-se o tipo de pessoa que acredita nessas coisas é importante
para você — para ajudá-lo a aprender e manter-se motivado. Como em todas as artes criativas, a
maneira mais efetiva de se tornar um mestre e imitar o jeito de pensar dos mestres — não apenas
intelectualmente mas emocionalmente também. 
Ou, como o poema Zen moderno diz: 
Para seguir o caminho:
olhe para o mestre,
siga o mestre,
ande com o mestre,
olhe através do mestre,
torne-se o mestre.
Então, se você quer ser um hacker, repita as seguintes coisas até que você acredite nelas: 
O mundo está cheio de problemas fascinantes esperando para serem resolvidos. 
Ser um hacker é muito divertido, mas é o tipo de divertimento que exige muito esforço. O esforço
exige motivação. Atletas de sucesso obtém sua motivação de um tipo de deleite físico ao fazer seus
corpos atuarem, ao compelir a si próprios para superar seus limites físicos. Similarmente, para ser
um hacker você tem que ter uma atração natural por resolver problemas, afiando as suas habilidades
e exercitando a sua inteligência. 
Se você não é o tipo de pessoa que sente isso de maneira natural, então você terá que se tornar uma
para fazer isso como um hacker. De outra forma você irá achar que a sua energia para hackear está
sendo minada por distrações como sexo, dinheiro e aprovação social. 
(Você também terá que desenvolver um tipo de fé na sua própria capacidade de aprendizagem —
uma crença em que, mesmo que você não saiba tudo que é necessário para resolver um problema, se
você dispuser apenas de uma peça para isso e aprender a partir dela, você irá aprender o suficiente
para resolver a próxima peça — e assim por diante, até que você termine.) Nenhum problema jamais deve ter que ser resolvido duas vezes. 
Cérebros  criativos  são  um recurso  valioso  e  limitado.  Eles  não  devem ser  desperdiçados  reinventando a roda enquanto existem tantos novos problemas fascinantes esperando por aí. 
Para se comportar como um hacker, você tem que acreditar que o tempo de pensamento de outros
hackers  é precioso — tanto que  é  quase  um dever  moral  para  você  compartilhar  informação,
resolver  problemas e dar  as soluções de graça apenas para que outros hackers possam resolver
novos problemas ao invés de terem que se dedicar perpetuamente a resolver os velhos. 
Note, entretanto, que "Nenhum problema jamais deve ter que ser resolvido duas vezes." não implica
que você tem que considerar todas as soluções existentes sagradas, ou que há apenas uma solução
correta para um dado problema. Frequentemente nós aprendemos muito sobre o problema que nós
não conhecemos antes estudando a primeira abordagem em uma solução. É legal, e frequentemente
necessário, decidir o que nós podemos fazer melhor. O que não é legal são artifícios técnicos, legais,
ou barreiras institucionais (como código fonte fechado) para prevenir que uma boa solução seja reutilizada e forçar pessoas a re-inventar rodas. 
(Você não tem que acreditar  que você é obrigado a dar  toda a sua produção criativa de graça,
embora os hackers que o fazem sejam os mais respeitados por outros hackers. É consistente com os
valores hacker vender o suficiente para manter sua comida, aluguel e computadores. É ótimo usar
suas habilidades de hackear para ajudar sua família ou mesmo para ficar rico, desde que você não se
esqueça da lealdade a sua arte e do seus colegas hackers enquanto estiver fazendo isso.) 
Tédio e trabalho repetitivo são ruins. 
Hackers (e pessoas criativas em geral) nunca deveriam ficar entediadas ou ter que se mourejar com
trabalho repetitivo, porque quando isso acontece significa que eles não estão fazendo o que apenas
eles podem fazer — resolver novos problemas.  Esse desperdício machuca todo mundo.  Portanto,
tédio e trabalho repetitivo não são apenas desagradáveis, mas maléficos. 
Para  se  comportar  como  um hacker,  você  tem que  acreditar  nisso  o  suficiente  para  querer
automatizar as partes chatas tanto quanto for possível, não apenas para você mas para todo mundo
(especialmente outros hackers). 
(Não há nenhuma  exceção aparente para  isso.  Os  hackers  irão vez por  outra  fazer  coisas  que
parecem ser repetitivas ou tediosas para um observador como um exercício de limpeza mental, ou
como meio para adquirir uma habilidade ou ter algum tipo de experiência que não seria possível de
outra maneira. Mas isso se dá por escolha — ninguém capaz de pensar deveria jamais ser forçado a
uma situação que o deixa entediado.) 
A liberdade é boa. 
Hackers são naturalmente anti-autoritários. Qualquer um que possa lhe dar ordens pode impedi-lo
de resolver qualquer problema pelo qual  você esteja fascinado — e,  dada a maneira com a qual
mentes autoritárias trabalham, irão geralmente encontrar alguma razão terrivelmente estúpida para
isso. Então a atitude autoritária deve ser combatida toda vez que você encontrá-la, já que ela sufoca
você e outros hackers. 
(Isso não é o mesmo que lutar contra toda autoridade. Crianças precisam ser orientadas e criminosos
detidos. Um hacker pode concordar em aceitar alguns tipos de autoridade de forma a conseguir algo
que ele queira mais que o tempo que ele gasta seguindo ordens. Mas isto é uma limitada, barganha
consciente; o tipo de sujeição pessoal que os autoritários querem não está em oferta.) 
Pessoas autoritárias prosperam na censura e no segredo. E desconfiam de cooperação voluntária e
compartilhamento de informação - só gostam de "cooperação" que eles controlam. Portanto, para se
comportar  como um hacker,  você tem que desenvolver  uma hostilidade instintiva à censura,  aosegredo, e ao uso da força ou mentira para compelir adultos responsáveis.  E você tem que estar
disposto a agir com base nessa crença. 
Atitude não substitui competência. 
Para ser um hacker, você tem que desenvolver algumas dessas atitudes. Mas exibir acanhadamente
apenas uma atitude não fará de você um hacker, não mais do que ela o tornará um atleta campeão
ou uma estrela do rock. Tornar-se um hacker irá exigir inteligência, prática, dedicação e trabalho
duro. 
Portanto,  você tem que aprender  a desconfiar  de atitude e respeitar  competências de todo tipo.
Hackers não deixam posers gastarem seu tempo,  mas eles admiram competência - especialmente
competência em hackear,  mas  competência em qualquer  coisa é valorizada.  A competência em
habilidades que poucos conseguem dominar é especialmente boa,  e competência em habilidades
que envolvem acuidade mental, perícia e concentração é a melhor. 
Se você reverenciar a competência, você gostará de desenvolvê-la em si mesmo - o trabalho duro e
a dedicação se tornarão uma espécie de jogo intenso, ao invés de labuta. Essa atitude é vital para se
tornar um hacker. 
Habilidades Básicas de Hackear 
O  atitude  do  hacker  é  vital,  mas  habilidades  são  ainda  mais  vitais.  Atitude  não  substitui
competência, e há uma certa coleção de habilidades que você deve ter antes que qualquer hacker
sonhe em chamá-lo assim. 
Essa coleção muda lentamente com o tempo a medida que a tecnologia cria novas habilidades e
torna outras obsoletas. Por exemplo, ela costumava incluir linguagem de programação de maquina,
e não abrangia HTML até recentemente. Mas agora ela muito claramente inclui o seguinte: 
Aprenda como programar. 
Esta,  naturalmente,  é  a  habilidade  fundamental  do  hacker.  Se  você  não  conhecer  nenhuma
linguagem de computador,  eu recomendo começar com Python.  Ela é projetada de forma limpa,
bem documentada e relativamente gentil  para com iniciantes.  Apesar  de ser  uma boa primeira
linguagem,  ela não é apenas  um brinquedo,  é muito poderosa e flexível  e bem adequada para
grandes  projetos.  Eu  escrevi  uma  avaliação  mais  detalhada  do  Python.  Bons  tutoriais estão
disponíveis no web site do Python. 
Eu costumava recomendar  Java como uma boa linguagem para aprender  cedo,  mas  essa crítica
mudou  minha  opinião  (procure  por  "As  Armadilhas  do  Java  como  primeira  linguagem de
programação"  dentro  dela).  Um hacker  não  pode,  como  eles  duramente  colocam "abordar  a
resolução de problemas como um encanador em uma loja de ferramentas", você tem que saber o
que os componentes realmente fazem.  Agora eu acho que é provavelmente melhor aprender C e
Lisp primeiro, depois Java. 
Se você se envolver com programação séria, você vai ter que aprender C, a linguagem fundamental
do Unix. C++ é muito estreitamente relacionada com a C, se você conhece uma, aprender a outra
não vai ser difícil. No entanto, não é uma boa linguagem para tentar aprender como a primeira. E,
realmente, quanto mais você puder evitar programação em C, mais produtivo você será. 
C é muito eficiente,  e faz uso parco dos recursos da sua máquina.  Infelizmente,  C obtém essa
eficiência requerendo de você a realização de muito gerenciamento de baixo nível  de recursos(como memória) manualmente. Todo este código de baixo nível é complexo e propenso a erros, e
irá  absorver  enormes  quantidades  do seu tempo na  depuração.  Com as  máquinas  de  hoje  tão
poderosas como estão, isso geralmente é uma troca ruim - é mais inteligente usar uma linguagem
que usa o tempo da máquina de forma menos  eficiente,  mas  seu tempo de forma muito mais
eficiente. Sendo assim, Python. 
Outras linguagens de particular importância para os hackers incluem Perl e  LISP.  Aprender Perl
vale a pena, por razões práticas, é muito utilizado para páginas web e administração de sistemas, de
modo que mesmo se você nunca escreva Perl você deve aprender a lê-lo. Muitas pessoas usam Perl
da maneira que eu sugiro que você deve usar Python, a fim de evitar programação C em trabalhos
que não exigem a eficiência de máquina do C. Você precisa ser capaz de compreender o seu código.
Vale a pena aprender LISP por um motivo diferente - a experiência de profunda iluminação que
você terá quando finalmente consegui-lo. Essa experiência vai fazer você um programador melhor
pelo resto de seus dias, mesmo se você nunca realmente utilizar muito LISP em si. (Você pode obter
alguma experiência inicial com LISP facilmente escrevendo e modificando os modos de edição para
o editor de texto Emacs, ou plugins Script-Fu para o GIMP). 
É melhor, na verdade, aprender todos os cinco de Python, C/C++, Java, Perl e LISP. Além de serem
as  linguagens  mais  importantes  para hackear,  elas  representam abordagens  muito diferentes  de
programação, e cada uma vai educá-lo de maneiras importantes. 
Mas fique ciente que você não vai  alcançar  o nível  de habilidade de um hacker  ou mesmo um
programador simplesmente pela acumulação de linguagens - você precisa aprender a pensar sobre
problemas de programação de um modo geral, independente de qualquer linguagem. Para ser um
hacker de verdade, você precisa chegar ao ponto onde você pode aprender uma nova linguagem em
dias, relacionando o que está no manual com o você já sabe. Isto significa que você deve aprender
várias línguas muito diferentes. 
Eu não posso dar instruções completas sobre como aprender a programar aqui - é uma habilidade
complexa. Mas eu posso lhe dizer que livros e cursos não irão fazê-lo - muitos, talvez a maioria dos
melhores  hacker  são  auto-didatas.  Você  pode  aprender  recursos  de  linguagem -  pedaços  de
conhecimento - a partir de livros, mas a mentalidade que faz desse conhecimento habilidade viva
pode ser aprendido apenas pela prática e treinamento. O que vai fazer isso é (a) ler código e (b)
escrever código. 
Peter Norvig, que é um dos melhores hackers do Google e co-autor do livro mais amplamente usado
em I.A.,  escreveu um excelente ensaio chamado  Ensine Você a Programar  em Dez Anos.  Sua
"receita para o sucesso com a programação" merece atenção especial. 
Aprender a programar é como aprender a escrever bem linguagem natural.  A melhor maneira de
fazer isso é ler algumas coisas escritas por mestres da forma, escrever algumas coisas você mesmo,
ler muito mais, escrever um pouco mais, ler mais um monte, escrever mais algumas ... e repetir até
que sua escrita comece a desenvolver o tipo de força e economia que você vê em suas referências. 
Achar  bom código  para  ler  costumava  ser  difícil,  porque  havia  poucos  programas  grandes
disponíveis na fonte para que hackers novatos pudessem ler e mexer neles. Essa situação mudou
dramaticamente; software open-source, ferramentas de programação e sistemas operacionais (todos
feitos  por  hackers)  estão  amplamente  disponíveis  agora.  O que  me  leva  justamente  ao  nosso
próximo tópico ... 
Pegue um dos Unixes de código aberto e aprenda a usar e executá-lo. 
Eu vou assumir que você tem um computador pessoal ou tem acesso a um. (Tire um tempo para
apreciar  o quanto isso significa.  A cultura  hacker  surgiu originalmente  no passado quando os
computadores eram tão caros que os indivíduos não podiam tê-los.) O passo mais importante que
um novato deve dar para adquirir habilidades de hacker é pegar uma cópia do Linux ou um dosBSD Unixes ou OpenSolaris, o instalar em uma máquina pessoal, e executá-lo. 
Sim, há outros sistemas operacionais no mundo além do Unix. Mas eles são distribuídos em forma
binária - você não pode ler o código, e você não pode modificá-lo. Tentar aprender a "hackear" em
uma máquina com o Microsoft Windows ou qualquer outro sistema de código fonte fechado é como
tentar aprender a dançar com o corpo engessado. 
No Mac OS X é possível, mas apenas uma parte do sistema é de código aberto - é provável que
você bater em um monte de paredes, e você tem que ter cuidado para não desenvolver o mau hábito
de depender de código proprietário da Apple. Se você se concentrar no que há sob o capô do Unix
você pode aprender algumas coisas úteis. 
Unix é  o sistema  operacional  da  Internet.  Embora  você  possa  aprender  a  usar  a  Internet  sem
conhecer  Unix,  você não pode ser  um hacker  de Internet  sem entender  Unix.  Por  esta razão,  a
cultura hacker, atualmente, é fortemente centralizada no Unix. (Isto não foi sempre assim, e alguns
hackers os velhos tempos ainda não estão felizes com isso, mas a simbiose entre o Unix e a Internet
se tornou tão forte que até mesmo os músculos da Microsoft não parecem ser capazes de avariá-la
seriamente.) 
Então, pegue um Unix - eu pessoalmente gosto do Linux, mas existem outras maneiras (e sim, você
pode rodar Linux e Windows na mesma máquina). Aprenda-o. Execute-o. Mexa com ele. Converse
com a Internet  com ele.  Leia o código.  Modifique o código.  Você terá ferramentas melhores de
programação (incluindo C, LISP, Python e Perl) do que qualquer sistema operacional da Microsoft
pode sonhar de oferecer, você vai se divertir, e você irá absorver mais conhecimento do que você
acredita estar aprendendo até você olha para trás como um mestre hacker. 
Para mais sobre aprendizado Unix, veja O Loginataka. Você também deverá querer dar uma olhada
no A Arte da Programação Unix. 
Para colocar suas mãos em um Linux, veja o site Linux Online!; você pode baixar de lá ou (ideia
melhor) encontrar um grupo de usuários Linux local para ajudá-lo com a instalação. 
Durante os primeiros dez anos de vida deste HOWTO, eu relatei que do ponto de vista de um novo
usuário,  todas  as  distribuições  Linux são quase equivalentes.  Mas,  em 2006-2007,  uma melhor
escolha real  surgiu:  o  Ubuntu.  Enquanto outras distribuições têm suas próprias áreas de força,  o
Ubuntu é de longe o mais acessível para novatos. 
Você pode encontrar ajuda e recursos do Unix BSD em www.bsd.org. 
Uma boa maneira de mergulhar os dedos na água é bootar o que os fãs do Linux chamam de  live
CD, uma distribuição que roda inteiramente do CD sem ter que alterar o seu disco rígido. Ela será
lenta, porque os CDs são lentos, mas é uma maneira de dar uma olhada nas possibilidades sem ter
que fazer algo drástico. 
Eu escrevi uma cartilha sobre os princípios básicos do Unix e da Internet. 
Eu costumava desaconselhar a instalação de Linux ou BSD como um projeto solo se você fosse um
novato. Atualmente, os instaladores se tornaram bons o suficiente para que fazê-lo inteiramente por
conta própria seja possível, mesmo para um novato. No entanto, eu ainda recomendo fazer contato
com o seu grupo de usuários do Linux local e pedir ajuda. Isso não irá machucar, e pode facilitar o
processo. 
Aprenda a usar a World Wide Web e escrever HTML. 
A maioria das coisas que a cultura hacker construiu faz o seu trabalho fora das vistas, ajudando no
funcionamento de fábricas, escritórios e universidades sem nenhum impacto óbvio na vida dos nãohackers.  A Web é a única grande exceção,  o enorme e brilhante brinquedo dos hackers que até
mesmo políticos admitem ter mudado o mundo.  Por esta única razão (e um monte de outras tão
boas quanto) você precisa aprender como trabalhar a Web. Isto não significa apenas aprender como pilotar um browser (qualquer um pode fazer isso),  mas
aprender como escrever HTML, a linguagem de marcação da Web. Se você não sabe programar,
escrever HTML lhe ensinará alguns hábitos mentais que o ajudarão a aprender.  Então faça uma
home page. Tente avançar para o XHTML, que é uma linguagem mais limpa que o HTML clássico.
(Existem bons tutoriais para iniciantes na Web; aqui está um.) 
Mas apenas ter uma home page não está nem perto de ser bom suficiente para fazer de você um
hacker. A Web está repleta de home pages. A maioria delas é inútil, porcaria sem conteúdo algum -
porcaria muito bem apresentada, note bem, mas porcaria mesmo assim (para saber mais sobre isso
veja o The HTML Hell Page). 
Para valer a pena, sua página deve ter conteúdo - deve ser interessante e/ou útil para outros hackers.
E isso nos leva ao próximo assunto... 
Se você não tem Inglês funcional, aprenda. 
Como Americano e falante nativo de Inglês, eu fiquei relutante em sugerir isso,  sob pena de ser
considerado como uma espécie de imperialismo cultural.  Mas vários  falantes  nativos  de outras
línguas,  pediram-me para salientar  que o Inglês  é a língua de trabalho da cultura hacker  e da
Internet, e que você precisará conhecê-lo para atuar na comunidade hacker. 
De volta a 1991 eu aprendi que muitos hackers que têm o Inglês como segunda língua o usam em
discussões técnicas,  mesmo quando eles compartilham uma língua nativa,  isso foi  relatado para
mim na época em que o Inglês tinha um vocabulário técnico mais rico do que qualquer outra língua
sendo,  portanto,  simplesmente uma ferramenta melhor  para o trabalho.  Por  razões semelhantes,
traduções de livros técnicos escritos em Inglês são muitas vezes insatisfatórias (quando elas são
feitas, em resumo). 
Linus Torvalds, um finlandês, comenta seu código em Inglês (aparentemente nunca ocorreu a ele
fazer  o contrário).  Sua fluência em Inglês tem sido um fator  importante em sua capacidade de
recrutar uma comunidade mundial de desenvolvedores para o Linux. É um forte exemplo a seguir. 
Ser um falante nativo de Inglês não garante que você tenha conhecimentos linguísticos suficientes
para atuar como um hacker. Se a sua escrita é semi-analfabeta, com erros gramaticais, e cheia de
erros  ortográficos,  muitos  hackers  (inclusive  eu)  tenderão  a  ignorá-lo.  Escrita  malfeita  não
invariavelmente significa pensar desleixado, nós geralmente achamos que tal correlação seja forte -
e  nós  não temos  uso  para  os  pensadores  desleixados.  Se  você  ainda  não pode  escrever  com
competência, aprenda. 
Status na Cultura Hacker 
Como a maioria das culturas sem economia monetária, a dos hackers se baseia em reputação. Você
está tentando resolver  problemas interessantes,  mas quão interessantes eles são,  e o quanto suas
soluções  são realmente  boas,  é  algo que  somente  seus  iguais  ou superiores  tecnicamente  são
normalmente capazes de julgar. 
Assim,  quando você joga o jogo hacker,  você aprende a marcar pontos principalmente pelo que
outros hackers pensam da sua habilidade (por isso você não é realmente um hacker até que outros
hackers  lhe  chamem assim).  Esse  fato é  obscurecido pela  imagem de  hacking como trabalho
solitário; também por um tabu cultural hacker (deteriorando gradualmente desde o final dos anos
1990,  mas ainda potente)  contra admitir  que o ego ou a aprovação externa estão envolvidas na
motivação de todos. Especificamente,  a cultura hacker  é o que os antropólogos chamam de cultura de doação.  Você
ganha status e reputação não por dominar outras pessoas, nem por ser bonito, nem por ter coisas que
outras  pessoas  querem,  mas  sim por  doar  coisas.  Especificamente,  por  doar  seu  tempo,  sua
criatividade, e os resultados de sua habilidade. 
Existem basicamente cinco tipos de coisas que você pode fazer para ser respeitado por hackers: 
Escreva software de código aberto 
O primeiro (o mais central  e mais tradicional)  é escrever  programas que outros hackers achem
divertidos ou úteis, e doar o código-fonte para toda a cultura hacker usar. 
(Nós costumávamos chamar isto de "software livre",  mas isso confundia muitas pessoas que não
tinham certeza do que exatamente "livre" supostamente significa. Muitos de nós preferem o termo
software "de código aberto"). 
Os  semideuses  mais  reverenciados  da  cultura  hacker  são  pessoas  que  escreveram programas
grandes e capazes, que correspondem a uma necessidade generalizada, e os doaram, de modo que
agora todo mundo os usa. 
Mas há um pouco de bons pontos históricos aqui. Embora os hackers sempre tenham olhado para os
desenvolvedores de código aberto entre eles como núcleo mais duro da nossa comunidade, antes de
meados dos anos 1990 a maioria dos hackers,  na maior  parte do tempo,  trabalhava em código
fechado.  Isto ainda era verdade quando eu escrevi  a primeira versão deste HOWTO em 1996,
passando pelo auge do software de código aberto depois de 1997, para mudar as coisas. Hoje, "a
comunidade  hacker"  e  "desenvolvedores  de  código  aberto"  são duas  descrições  para  o  que  é
essencialmente a mesma cultura e população - mas vale lembrar que isso não foi sempre assim. 
Ajude a testar e depurar software de código aberto 
Eles também servem quem apoia e depura software de código aberto. Neste mundo imperfeito, nós
inevitavelmente passamos a maior parte do nosso tempo de desenvolvimento de software na fase de
depuração. É por isso que qualquer autor de código aberto que pense lhe dirá que bons beta-testers
(que saibam descrever sintomas claramente, localizar bem problemas, que possam tolerar bugs em
um lançamento apressado, e que estejam dispostos a aplicar algumas simples rotinas de diagnóstico)
tem seu peso avaliado em ouro. Até mesmo um desses pode fazer a diferença entre uma fase de
depuração que  seja  demorada,  um cansativo pesadelo e  uma  que  é  apenas  um aborrecimento
saudável. 
Se você é um novato, tente achar um programa em desenvolvimento no qual você esteja interessado
e seja um bom beta-tester. Há uma progressão natural de ajudar a testar programas para ajudar a
depurar e depois ajudar a modificá-los. Você aprenderá muito assim, e criará um bom karma com
pessoas que irão ajudá-lo mais tarde. 
Publique informações úteis. 
Outra coisa boa é colecionar e filtrar informações úteis e interessantes em páginas ou documentos
como listas de Perguntas Realizadas com Frequência (FAQ), e torná-las disponíveis para todos. 
Mantenedores dos maiores FAQs técnicos recebem praticamente o mesmo respeito que os autores
de código aberto. 
Ajude a manter a infra-estrutura funcionando 
A cultura hacker (e o desenvolvimento da engenharia da Internet, para o que importa) é executada
por voluntários. Existe uma grande quantidade de trabalho necessário, mas sem glamour que precisaser  feito para mantê-la viva -  administrar  listas de email,  moderar  grupos de discussão,  manter
grandes sites que armazenam software, desenvolver RFCs e outros padrões técnicos. 
Pessoas que fazem esse tipo de coisa conseguem muito respeito, porque todo mundo sabe que esses
serviços são grandes sugadores de tempo e não são tão divertidos como brincar com código. Fazê-
los mostra dedicação. 
Sirva-se à cultura hacker 
Finalmente, você pode servir e propagar a cultura por conta própria (ao, por exemplo, escrever um
apurado manual sobre como se tornar um hacker :-)). Isso não é algo que você será incumbido de
fazer até que você esteja por aí há algum tempo e torne-se conhecido por uma das primeiras quatro
coisas. 
A cultura  hacker  não têm líderes,  exatamente,  mas  tem seus  heróis  culturais,  chefes  tribais  e
historiadores e porta-vozes.  Quando você estiver  tempo suficiente nas trincheiras,  você pode se
transformar em um desses.  Cuidado:  hackers desconfiam de egos espalhafatosos em seus chefes
tribais, então ser reconhecido por este tipo de fama é perigoso. Ao invés de lutar por ele, você tem
meio que se posicionar, assim isso cai no seu colo, e então ser modesto e cortês sobre seu status. 
A Conexão Hacker/Nerd 
Contrariamente ao mito popular,  você não tem que ser um nerd para ser um hacker.  Isso ajuda,
realmente,  e muitos hackers são de fato nerds.  Ser  algo como um proscrito social  o ajuda a se
manter concentrado nas coisas realmente importantes, como pensar e hackear. 
Por esta razão, muitos hackers adotaram o rótulo de "geek" como um símbolo de orgulho - é um
modo de declarar sua independência de expectativas sociais normais (assim como um gosto por
outras coisas como ficção científica e jogos de estratégia que muitas vezes vêm junto com ser um
hacker). O termo "nerd" costumava ser usado dessa forma no passado na década de 1990, na época
"nerd" era ligeira pejorativa e 'geek' mais descolado, algum tempo depois de 2000 eles trocaram de
lugares, pelo menos na cultura popular dos E.U., e agora há até mesmo uma cultura significante de
orgulho geek entre as pessoas que não são técnicas. 
Se você consegue se organizar para concentrar-se o suficiente em hackear para ser bom nisso e
ainda ter uma vida, tudo bem. Isto é muito mais fácil hoje do que era quando eu era um novato na
década de 1970,  a cultura popular  é muito mais amigável  para com techno-nerds agora.  Há até
mesmo um número crescente de pessoas que percebem que hackers são frequentemente materiais
de alta qualidade para cônjuges e amantes. 
Se hackear o atrai porque você não tem uma vida, tudo bem também - pelo menos você não terá
problemas para se concentrar. Talvez você consiga uma vida mais tarde. 
Pontos por Estilo 
Mais uma vez, para ser um hacker, você tem que entrar na mentalidade hacker. Há algumas coisas
que você pode fazer quando você não estiver em um computador que parecem ajudar. Elas não são
substitutas para o hacking (nada é), mas muitos hackers as fazem,  e sentem que se conectam de
alguma maneira básica com a essência do hacking. • Aprenda a escrever bem em seu idioma nativo. Embora seja um estereótipo comum que os
programadores não conseguem escrever,  um número surpreendente de hackers (incluindo
todos os mais talentosos que eu conheço) são escritores muito capazes. 
• Leia  ficção  científica.  Vá  para  convenções  de  ficção  científica  (uma  boa  maneira  de
encontrar hackers e proto-hackers). 
• Treine  uma  forma  de  artes  marciais.  O tipo  de  disciplina  mental  necessária  para  artes
marciais parece ser semelhante em aspectos importantes com a que os hackers usam.  As
formas  mais  populares  entre  os  hackers  são definitivamente  as  artes  asiáticas  de  mãos
vazias, como Tae Kwon Do, várias formas de Karate, Kung Fu, Aikido, ou Ju Jitsu. Esgrima
ocidental e artes espada asiáticos também têm seguidores visível. Em locais onde é legal, o
tiro de pistola vem crescendo em popularidade desde a década de 1990. As artes marciais
mais hackers são aquelas que enfatizam a disciplina mental, consciência relaxada e controle,
em vez de força bruta, atletismo, ou a resistência física. 
• Estude uma disciplina de meditação efetiva. O eterno favorito entre os hackers é Zen (e o
importante, é possível se beneficiar do Zen sem adquirir uma religião ou descartar uma que
você já possua). Outros estilos podem funcionar bem, mas tome cuidado para escolher um
que exija que você acredite em coisas malucas. 
• Desenvolva um ouvido analítico para música. Aprenda a apreciar tipos peculiares de música.
Aprenda a tocar bem algum instrumento musical, ou como cantar. 
• Desenvolva sua apreciação por trocadilhos e jogos de palavras. 
Quanto mais dessas coisas você já fizer, mais provável que você seja um material hacker natural.
Porque essas coisas em particular  não está completamente claro,  mas elas são ligadas com uma
mistura habilidades dos lados direito e esquerdo do cérebro que parecem ser importantes, os hackers
precisam ser  capazes  tanto de  raciocinar  logicamente  quanto de  caminhar  para  fora  da  lógica
aparente de um problema em dados momentos. 
Trabalhar tão intensamente quanto você joga e jogar tão intensamente quanto você trabalha. Para os
hackers  de  verdade,  todas  as  fronteiras  entre  "jogo",  "trabalho",  "ciência"  e  "arte"  tendem a
desaparecer ou a fundirem-se em uma jogo de alto nível criativo. Além disso, não se contentar com
uma  pequena  gama  de  habilidades.  Embora  a  maioria  dos  hackers  se  auto-descrevam como
programadores,  eles são muito susceptíveis a serem mais que competentes em várias habilidades
relacionadas - administração de sistemas, web design, e solução de problemas de hardware de PC
são mais comuns. Um hacker que é um administrador de sistema, por outro lado, é provável que
seja bastante hábil  no script  de programação e web design.  Hackers  não fazem as  coisas  pela
metade, se investem em uma habilidade dentre outras, eles tendem a ficar muito bons nela. 
Finalmente, algumas coisas para não fazer. 
• Não use uma identificação de usuário ou pseudônimo idiota e enorme. 
• Não entre em discussões sem sentido na Usenet (ou em qualquer outro lugar). 
• Não se defina como um "cyberpunk", e não perca seu tempo com ninguém que o faça. 
• Não publicar ou enviar e-mail cuja escrita esteja cheia de erros de ortografia e gramática
ruim. 
A única reputação que você conseguirá fazendo alguma dessas coisas será a de bobo. Hackers tem
memória boa - pode levar anos para se deixar suas tolices para trás o suficiente para ser aceito. 
O problema  com os  nomes  de  tela  ou  apelidos  merece  alguma  amplificação.  Esconder  sua
identidade por trás de um apelido é um comportamento juvenil e idiota característico de crackers,
warez d00dz e outras formas de vida mais baixas. Hackers não fazem isso, eles estão orgulhosos do
que fazem e querem associados com seus nomes reais. Então se você tem um apelido, abandone-o.
Na cultura hacker, ele só irá marcá-lo como um perdedor. Outros recursos 
Paul Graham escreveu um ensaio chamado Great Hackers, e outro na graduação, no qual ele fala
com muita sabedoria. 
Existe um documento chamado Como ser um programador que é um excelente complemento deste.
Ele tem conselhos valiosos não apenas sobre codificação e conjuntos de habilidades, mas sobre a
forma como atuar em uma equipe de programação. 
Eu também escrevi A Brief History Of Hackerdom. 
Eu escrevi  um documento,  A Catedral  e o Bazar,  que explica muito sobre como as culturas do
Linux e do código-fonte aberto funcionam.  Eu abordei  este tema ainda mais diretamente na sua
continuação Homesteading Noosfera. 
Rick Moen, escreveu um excelente documento sobre como montar um grupo de usuários Linux. 
Rick Moen e eu tenho colaboramos em outro documento sobre Como Fazer Perguntas Inteligentes.
Isso irá ajudá-lo a procurar ajuda de uma forma que seja mais provável que você realmente consiga.
Se você precisa de instruções  sobre os  princípios  de como computadores  pessoais,  Unix,  e os
trabalhos de Internet funcionam, veja The Unix and Internet Fundamentals HOWTO. 
Quando você disponibilizar software ou escrever correções para software, tente seguir as normas
descritas no Software Release Practice HOWTO. 
Se você gostou do poema Zen, você também poderá gostar do Rootless Root: The Unix Koans of
Master Foo. 
Perguntas Feitas com Frequência 
Como posso saber se eu já sou um hacker? 
Faça a si mesmo as três seguintes perguntas: 
• Você fala código fluentemente? 
• Você se identifica com os objetivos e valores da comunidade hacker? 
• Algum membro bem estabelecido da comunidade hacker já o chamou de hacker? 
Se você puder responder sim a *todas as três* dessas perguntas, você já é um hacker. Duas apenas
não são suficientes. 
O primeiro teste é uma questão de competências.  Você provavelmente passará se você tiver  o
mínimo de habilidades técnicas descritas anteriormente neste documento.  Você irá passar  direto
através  dela  se  você  tiver  uma  quantidade  considerável  de  código  aceito  por  um projeto  de
desenvolvimento open-source. 
O segundo teste é uma questão de atitude. Se os  cinco princípios da mentalidade hacker parecem
óbvios para você, mais como uma descrição da maneira que você já vive do que uma novela sobre
qualquer coisa, você já está a meio caminho para passá-lo. Essa é a metade do aperfeiçoamento, o
outra metade que resta é o grau com o qual você se identifica com os projetos de longo prazo da
comunidade hacker. Aqui está uma lista incompleta, mas indicativa de alguns desses projetos: Qual a importância para
você de que o Linux melhore e se espalhe? Você está apaixonado por liberdade de software? É
hostil aos monopólios? Você age com a crença de que os computadores podem ser instrumentos de
capacitação que fazem do mundo um lugar mais rico e mais humano? 
Mas  uma  nota  de  aviso  está  posta  aqui.  A comunidade  hacker  tem  alguns  específicos  e
principalmente defensivos, interesses políticos - dois deles são a defesa dos direitos da liberdade de
expressão e a extirpação do poder que a "propriedade intelectual" tem de tornar ilegal o software de
código aberto. Alguns desses projetos a longo prazo são organizações de liberdades civis como a
Electronic Frontier Foundation, e tal atitude devidamente inclui o apoio deles. Mas, além disso, a
maioria  dos  hackers  vê  tentativas  de  sistematizar  a  atitude  hacker  em um explícito  programa
político  com suspeita,  nós  aprendemos,  a  duras  penas,  que  essas  tentativas  são  divisivas  e
distraentes. Se alguém tentar recrutá-lo para marchar sobre a sua capital em nome da atitude hacker,
eles perderam o ponto. A resposta certa é, provavelmente, "Cale-se e mostre-lhes o código". 
O terceiro teste tem um elemento complicado de recursividade sobre ele.  Eu observei  na seção
chamada "O que é um Hacker?" que ser um hacker é em parte uma questão de pertencer a uma
subcultura particular ou rede social com uma história comum, uma dentro e uma fora. No passado
distante, os hackers eram um grupo muito menos coeso e auto-consciente do que são hoje. Mas a
importância do aspecto de rede social tem aumentado ao longo dos últimos trinta anos a medida que
a Internet tem criado conexões com o núcleo da subcultura hacker mais fáceis de desenvolver e
manter. Um registro comportamental da mudança é este, neste século, nós temos a nossas próprias
camisetas. 
Sociólogos,  que estudam as redes como as da cultura hacker  sob a rubrica geral  de "faculdades
invisíveis", notaram que uma característica dessas redes é que elas possuem porteiros - membros
centrais  com a  autoridade  social  para  aprovar  novos  membros  na  rede.  Porque  a  "faculdade
invisível", que é a cultura hacker é flexível e informal, o papel do porteiro é informal também. Mas
uma coisa que todos os hackers entendem profundamente é que nem todo hacker é um porteiro.
Porteiros tem que ter um certo grau de antiguidade e de realização,  antes de poderem ostentar o
título. Quanto é difícil de quantificar, mas todo hacker o reconhece assim que o vê. 
Você vai me ensinar a hackear? 
Desde  a  primeira  publicação  desta  página,  que  eu tenho recebido vários  pedidos  por  semana
(frequentemente vários por dia) de pessoas para "ensinar-me tudo sobre hacking". Infelizmente, eu
não tenho tempo nem energia para fazer isso, meus próprios projetos hackers, e o trabalho como um
defensor do código aberto, ocupam 110% do meu tempo. 
Mesmo se eu o fizesse,  hacking é uma atitude e uma habilidade que você basicamente tem que
ensinar  a si  mesmo.  Você verá que,  embora hackers de verdade queiram ajudá-lo,  eles não irão
respeitá-lo se você implorar para ser tratado na boca com tudo o que sabem. 
Aprenda algumas coisas primeiro. Mostre que você está tentando, que você é capaz de aprender por
conta própria. Então vá até os hackers que você conhece com perguntas específicas. 
Se você escrever  um e-mail  para um hacker  pedindo conselhos,  aqui  estão duas coisas a saber
primeiro. Primeiro, nós achamos que as pessoas que são preguiçosas ou descuidadas com sua escrita
são geralmente muito preguiçosas e negligentes em seus pensamentos para dar bons hackers - por
isso tome cuidado para soletrar corretamente, e usar uma boa gramática e pontuação, caso contrário,
você provavelmente vai ser ignorado. Em segundo lugar, não se atreva a pedir uma resposta para
uma conta de ISP que é diferente da conta a partir da qual você está escrevendo. Nós achamos que
pessoas que fazem isso geralmente são ladrões utilizando contas roubadas, e não temos interesse em
premiar ou ajudar ladrões. Como posso começar, então? 
A melhor maneira para você começar seria provavelmente ir a uma reunião de um LUG (grupo de
usuários Linux). Você pode encontrar esses grupos na página Informações Gerais sobre o Linux do
LDP.  Provavelmente  há  um  perto  de  você,  possivelmente  associada  a  uma  faculdade  ou
universidade. Membros do LUG provavelmente vão te dar um Linux, se você pedir, e certamente
vão ajudá-lo a instalar um e começar. 
Quando você tem que começar? É tarde demais para eu aprender? 
Qualquer idade na qual você estiver motivado para começar é uma boa idade. A maioria das pessoas
parece se interessar entre as idades de 15 e 20 anos, mas eu sei de exceções em ambos os sentidos. 
Quanto tempo leva para eu aprender a hackear? 
Isso depende de quão você é talentoso e quão duro você trabalha nisso. A maioria das pessoas que
tentam podem adquirir um conjunto de habilidades respeitável em dezoito meses a dois anos, se elas
se  concentrarem.  Não pense  que  termina  ali,  entretanto.  No hacking (como em muitos  outros
campos) se leva cerca de dez anos para atingir a maestria. E se você é um hacker de verdade, você
vai passar o resto de sua vida aprendendo e aperfeiçoando o seu ofício. 
Visual Basic é uma boa linguagem para começar? 
Se você está fazendo esta pergunta, é quase certo que significa que você está pensando em tentar
hackear no Microsoft Windows. Esta é uma má idéia por si só. Quando eu comparei tentar aprender
a  hackear  no Windows  com tentar  aprender  a  dançar  com o corpo engessado,  eu não estava
brincando. Não vá lá. É feio, e nunca deixa de ser feio. 
Existe um problema específico com o Visual  Basic.  Principalmente porque ele não é portável.
Embora existam um protótipos de implementações em código aberto do Visual Basic, os padrões
ECMA aplicáveis  não  cobrem  mais  do  que  um  pequeno  conjunto  de  suas  interfaces  de
programação. No Windows a maioria das suas bibliotecas de apoio é de propriedade de um único
fornecedor (Microsoft). Se você não for extremamente cauteloso com os recursos que você usar -
mais cuidadoso do que qualquer novato é realmente capaz de ser - você vai acabar preso a apenas
aquelas plataformas que a Microsoft escolhe apoiar. Se você está começando com Unix, linguagens
muito melhores com melhores bibliotecas estão disponíveis. Python, por exemplo. 
Também,  como em outros  Basics,  o Visual  Basic é uma linguagem mal  concebida que irá lhe
ensinar maus hábitos de programação. Não, não me peça para descrevê-los em detalhes, já que a
explicação poderia encher um livro. Aprenda uma linguagem bem concebida em seu lugar. 
Um desses  maus  hábitos  é  se  tornar  dependente  de  bibliotecas,  widgets  e  ferramentas  de
desenvolvimento de um único fornecedor.  Em geral,  qualquer  linguagem que não é totalmente
compatível com Linux ou pelo menos um dos BSDs, e/ou pelo menos três fornecedores de sistemas
operacionais, é pobre para aprender a hackear com ela. 
Você poderia me ajudar a quebrar um sistema, ou me ensinar a quebrá-lo? 
Não. Qualquer pessoa que possa ainda perguntar tal coisa depois de ler este FAQ é estúpida demais
para ser educável  mesmo se eu tivesse tempo para tutoria.  Quaisquer pedidos por e-mail que eu
receba serão ignorados ou respondidos com rudeza extrema. 
Como posso obter a senha da conta de outra pessoa? 
Isso é cracking. Vá embora, seu idiota. Como posso invadir/ler/monitorar o e-mail de outra pessoa? 
Isso é cracking. Suma, seu imbecil. 
Como eu posso roubar privilégios de op de canal no IRC? 
Isso é cracking. Vá embora, cretino. 
Eu fui invadido. Você me ajudará a evitar novos ataques? 
Não.  Toda vez que eu tenho recebido esta pergunta até agora,  tem sido de algum pobre coitado
rodando Microsoft  Windows.  Não é possível  efetivamente proteger os sistemas Windows contra
ataques  de invasores.  O código e a arquitetura simplesmente tem muitas  falhas,  o que torna a
proteção do Windows parecida com tentar resgatar um barco com uma peneira. A única prevenção
confiável começa com a mudança para o Linux ou outro sistema operacional que foi projetado para,
pelo menos, ser capaz de oferecer segurança. 
Estou tendo problemas com meu software Windows. Você vai me ajudar? 
Sim.  Vá  para  um prompt  do  DOS  e  digite  "format  c:".  Qualquer  problema  que  você  está
enfrentando cessará em poucos minutos. 
Onde posso encontrar alguns hackers de verdade para conversar? 
A melhor maneira é encontrar um grupo local de usuários de Unix ou Linux para você e ir às suas
reuniões (você pode encontrar  links para várias listas de grupos de usuários no site do  LDP no
ibiblio). 
(Eu costumava dizer aqui que você não encontraria algum hacker de verdade no IRC, mas eu passei
a entender que isso está mudando. Aparentemente algumas comunidades hacker de verdade, ligadas
a coisas como o GIMP e Perl, têm canais de IRC agora.) 
Você pode me recomendar livros úteis sobre assuntos relacionados com hacking?
Eu mantenho uma HOWTO de Lista de Leitura de Linux que você pode achar útil. O Loginataka
também pode ser interessante. 
Para uma introdução ao Python, veja os materiais introdutórios no site do Python. 
Eu preciso ser bom em matemática para se tornar um hacker? 
Não. Hacking usa muito pouco da matemática formal ou aritmética. Em particular, você geralmente
não precisa de trigonometria, cálculo ou análise (há exceções a isso em um punhado de áreas de
aplicação específicas,  como gráficos computacionais 3-D).  Saber alguma lógica formal e álgebra
booleana  é  bom.  Algum embasamento em matemática  finita  (incluindo a  teoria  dos  conjuntos
finitos, análise combinatória e teoria dos grafos) pode ser útil. 
Muito mais  importante:  você  precisa  ser  capaz  de  pensar  logicamente  e  seguir  as  cadeias  de
raciocínio exato,  a forma como os  matemáticos  fazem.  Embora o conteúdo da maior  parte da
matemática  não  vá  ajudá-lo,  você  irá  precisar  da  disciplina  e  inteligência  para  lidar  com a
matemática. Se lhe falta a inteligência, há pouca esperança para você como um hacker, se você não
tiver a disciplina, é melhor cultivá-la. 
Acho que uma boa maneira de descobrir se você tem o que é preciso é pegar uma cópia do livro de
Raymond Smullyan What Is The Name Of This Book?. Os lúdicos enigmas lógicos de Smullyan
representam muito do espírito dos hackers. Ser capaz de resolvê-los é um bom sinal; desfrutar aoresolvê-los é um ainda melhor. 
Que linguagem devo aprender primeiro? 
XHTML (dialeto mais  recente  do HTML)  se  você  ainda  não souber.  Há  um monte  de  livros
brilhantes e cheios de hype sobre HTML lá fora, e lamentavelmente poucos bons. O que eu mais
gosto é o HTML: The Definitive Guide. 
Mas HTML não é uma linguagem de programação completa. Quando estiver pronto para começar a
programar,  eu  recomendaria  começar  com  Python.  Você  vai  ouvir  um  monte  de  gente
recomendando Perl, e Perl ainda é mais popular do Python, mas é mais difícil de aprender e (na
minha opinião) menos bem concebido. 
C é realmente importante, mas também é muito mais difícil do que qualquer Python ou Perl. Não
tente aprendê-lo primeiro. 
Usuários de Windows, não se contentem com o Visual Basic. Ela vai lhes ensinar maus hábitos, e
ele não é portável fora do Windows. Evitem. 
Que tipo de hardware eu preciso? 
Costumava ser aqueles computadores pessoais que eram bastante limitados e pobres em memória,
suficientes mas que impunham limites artificiais no processo de aprendizado de um hacker.  Isso
deixou de ser verdade em meados da década de 1990.  Qualquer máquina de um Intel 486DX50
acima  é  mais  que  suficientemente  poderoso  para  o  trabalho  de  desenvolvimento,  X,  e  as
comunicações  da  Internet,  e  os  menores  discos  que  você  pode  comprar  hoje  em dia  são
exageradamente grandes o suficiente. 
A coisa mais importante na escolha de uma máquina na qual aprender é saber se o seu hardware é
compatível  com Linux  (ou  compatível  com  BSD,  você  deveria  escolher  aquele  caminho).
Novamente, isso será verdade para quase todas as máquinas modernas. As únicas áreas realmente
pegajosas  são modems  e placas wireless,  algumas  máquinas  possuem hardware específico para
Windows que não funcionam com o Linux. 
Existe um FAQ sobre a compatibilidade de hardware, a versão mais recente está aqui. 
Eu  quero  contribuir.  Você  pode  me  ajudar  a  escolher  um problema  para
trabalhar? 
Não, porque eu não conheço seus talentos ou interesses. Você tem que ser auto-motivado ou você
não vai crescer, é por isso que ter outras pessoas escolhendo seu caminho quase nunca funciona. 
Tente  isto.  Acompanhe  a  rolagem dos  anúncios  dos  projetos  pelo  Freshmeat por  alguns  dias.
Quando você ver um que o faz pensar "Legal! Eu gostaria de trabalhar nisso!", junte-se a ele. 
Preciso odiar e esmurrar a Microsoft? 
Não,  você não precisa.  Não que a Microsoft  não seja repugnante,  mas havia uma longa cultura
hacker  muito antes da Microsoft  e ainda haverá uma muito tempo depois que a Microsoft  virar
história. Qualquer energia que você gastar odiando a Microsoft seria melhor gasta ao amar o seu
ofício.  Escrever bom código - isso irá esmurrar a Microsoft suficientemente bem sem poluir seu
carma. Mas o software de código aberto não deixará os programadores incapazes de
ganhar a vida? 
Isso parece improvável - até agora, a indústria de software de código aberto parece estar criando
empregos  ao invés  de tirá-los.  Se ter  um programa escrito é um ganho econômico liquido em
relação não tê-lo escrito, um programador será pago tendo sido ou não o programa de código aberto
depois que ele for feito. E, não importa o quanto software "livre" é escrito,  sempre parece haver
mais demanda por aplicações novas e personalizadas.  Eu escrevi  mais sobre isso nas páginas da
Open Source. 
Onde posso pegar um Unix livre? 
Se você não tem um Unix instalado em sua máquina ainda, em algum outro lugar desta página eu
incluí indicações de onde pegar os Unix livres mais usados. Para ser um hacker você precisa de
motivação e iniciativa e da habilidade de educar a si próprio. Comece agora... 




Divulgue


1 comentários:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...