terça-feira, 16 de junho de 2015

Vol 1 Apostila Hacker Pag 4 AnarquiaHacker88


 ================https://www.facebook.com/AnarquiaHacker ================

              

                                   A TEORIA DA ENGENHARIA REVERSA

  • 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 (troca de moeda).
Para disponibilizar novas funcionalidades.
Para corrigir bugs.
Os crackers utilizam as técnicas da Engenharia Reversa para disponibilizar
funcionalidades "escondidas" em programas que normalmente oferecem estas
funcionalidades após serem legalmente adquiridos e registrados. Um cracker
"bobinho" é chamado de lammer. Um cracker expert costuma dizer que faz
Engenharia Reversa e que o software existente é apenas material de trabalho...
(vê lá, nada de crackear programas, hem ;-) Existem alguns experts que
chegam até ao ponto de fazer re-engenharia de software, ou seja, analisam e
modificam um sistema para recriá-lo e reimplementá-lo com uma nova
estrutura.

  • Etapas da Engenharia Reversa

O trabalho de Engenharia Reversa é feito em etapas bem definidas:
Extração de fatos do sistema a analisar
Tratamento dos fatos e
Visualização dos resultados
Extração de Fatos de um Sistema

--------------------------------------------------------------------------------
A Extração de Fatos é feita através de:
Análise Estática do Código
Análise Dinâmica do Código
Dados
Documentação
Outras fontes de informação
--------------------------------------------------------------------------------
Análise Estática do Código - Parsing
Na Análise Estática do Código procura-se:
Determinar quais são os componentes básicos do sistema, como arquivos,
rotinas, variáveis, etc.
Relações de Definição: diretório de determinado arquivo, arquivo onde se
encontram determinadas variáveis, etc
Relações de Referência: qual arquivo depende de outro, qual rotina depende de
outra, etc
Existem ferramentas para fazer este tipo de análise - são os "Parsers" - e a
análise é chamada de "parsing". Algumas linguagens de programação permitem
facilmente um parsing (como o Delphi - Pascal, por exemplo), outras já
oferecem dificuldades maiores.
--------------------------------------------------------------------------------
Análise Dinâmica do Código - Debugging
Na Análise Dinâmica executa-se o programa e se monitora os valores das
variáveis, quais funções são chamadas, etc. As ferramentas utilizadas são
denominadas de "Debuggers", sendo o mais conhecido deles o SoftIce da
Numega.
--------------------------------------------------------------------------------
Dados
Quando um sistema possuir um banco de dados, este pode servir de fonte de
informação sobre o próprio sistema.
--------------------------------------------------------------------------------
Documentação
Documentação é tudo o que não está usado pelo computador para fazer
funcionar o sistema. Podem ser textos, diagramas, helps, etc.
--------------------------------------------------------------------------------
Outras fontes de informação
A linguagem de programação que foi utilizada, o sistema operacional, o tipo de
processador, etc.
Tratamento dos Fatos
--------------------------------------------------------------------------------
Uma vez que se tenha informações suficientemente claras e precisas, é possível
alterar o código e até a estrutura de um sistema (ou programa) utilizando várias
técnicas. Nem é preciso dizer que a documentação do tratamento efetuado é
fundamental !
Visualização dos Resultados

 ================https://www.facebook.com/AnarquiaHacker ================

Nenhum comentário:

Postar um comentário

Total De Visitas