Engenharia reversa

Disponível somente no TrabalhosFeitos
  • Páginas : 36 (8758 palavras )
  • Download(s) : 0
  • Publicado : 17 de maio de 2012
Ler documento completo
Amostra do texto
ENGENHARIA REVERSA
http://www.completosbr.org/
Obs: recomendo saber programar em Assembly!

O que é a Engenharia Reversa Como o próprio nome indica, a Engenharia Reversa é uma engenharia "ao contrário", portanto, é uma atividade que trabalha com um produto existente (um software, uma peça mecânica, uma placa de computador, etc.) e tenta entender como este produto funciona e o que ele fazexatamente (todas as suas propriedades em quaisquer circunstâncias). Fazemos engenharia reversa quando queremos trocar ou modificar uma peça (ou um software) por outro, com as mesmas características, mas não temos todas as informações sobre essa peça. Utilizando mecanismos de busca na Internet como Google, Altavista, Lycos, etc, as referências sobre Engenharia Reversa são surpreendentementeabundantes. Encontra-se desde programas de cursos universitários até ensaios e teses, além dos tradicionais sites "relâmpago" (hoje está no ar, amanhã foi banido do ISP) dos crackers de plantão.

Porque aprender Engenharia Reversa Crackers são os que aplicam conhecimentos de engenharia reversa para "liberar" programas que exijam algum tipo de registro ou para habilitar funções que estejam bloqueadas emdemos, trials, etc. É natural que os autores de software queiram proteger seus programas e o fazem razoavelmente bem... até encontrar um cracker que se dispõe a "liberá-los". O que os programadores esquecem é que precisam se interessar pela engenharia reversa, dando uma atenção especial à programação de segurança. Se você não conhece o inimigo, como é que pretende se defender ? Aprenda as técnicasutilizadas pelos estudiosos da matéria e pelos crackers mais famosos e aplique seus conhecimentos (não existe proteção 100%, mas 99% já é um bom resultado) - ou então parta para o software livre e não pense mais no assunto !

Como aprender Engenharia Reversa Como foi dito acima, existem muitos sites dedicados ao assunto, basta dar uma olhada no Google. Encontra-se desde conceitos básicos atécursos na web (geralmente em inglês, como Hellforge) e tutoriais de crackers com exemplos muito elucidativos. De qualquer modo, é necessário um conhecimento básico da linguagem assembly além de um domínio razoável de uma outra linguagem de programação (preferencialmente C/C++). Se você programa para Windows rodando em processadores Intel, é claro que também é necessário um conhecimento básico das APIdo Windows, da arquitetura Intel e do conjunto de instruções desses processadores. O mesmo se aplica para a família Unix/Linux, Sparc, etc. Além disso, entre outras coisas, procure se informar ao máximo sobre padrões: comece com os padrões de PE (portable executable), compactação, encriptação de arquivos e instaladores.

Onde aprender Engenharia Reversa Na universidade ou... em casa :-). Norecesso do lar, alguns livros, cabeça fria e uma conexão com a web. Pesquise na Internet, faça alguns bookmarks e preparese para penosos downloads: você vai precisar de algumas ferramentas, paciência para aguentar janelinhas popups de sites de crackers, perseverança para encontrar tutoriais de qualidade, etc, etc, etc.



A TEORIA DA ENGENHARIA REVERSA

O que é a Engenharia Reversa Como opróprio nome indica, a Engenharia Reversa é uma engenharia "ao contrário", portanto, é uma atividade que trabalha com um produto existente (um software, uma peça mecânica, uma placa de computador, etc.) e tenta entender como este produto funciona e o que ele faz exatamente (todas as suas propriedades em qualquer circunstâncias). Fazemos engenharia reversa quando queremos trocar ou modificar uma peça(ou um software) por outro, com as mesmas características, mas não temos todas as informações sobre essa peça.

Engenharia Reversa de Software Utiliza-se a Engenharia Reversa de Software nos seguintes casos: Para adaptar o software a novos computadores. Para atualizar o softwares (novas bibliotecas, novas linguagem de programação, novas ferramentas). Para adaptar o software a novas regras...
tracking img