Engenharia reversa

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
A página está num processo de expansão ou reestruturação.
Esta página está a atravessar um processo de expansão ou reestruturação. A informação presente poderá mudar rapidamente, podendo conter erros que estão a ser corrigidos. Todos estão convidados a dar o seu contributo e a editar esta página. Caso esta não tenha sido editada durante vários dias, retire esta marcação.

Esta página foi editada pela última vez por Onjacktallcuca (D C) 2 meses atrás. (Recarregar)

A engenharia reversa é o processo de descobrir os princípios tecnológicos e o funcionamento de um dispositivo, objeto ou sistema, através da análise de sua estrutura, função e operação. Objetivamente a engenharia reversa consiste em, por exemplo, desmontar uma máquina para descobrir como ela funciona.[1] [2] É objeto de estudo em universidades e faculdades principalmente ligada à área de tecnologia.[3] [4]

Descrição[editar | editar código-fonte]

Muitas vezes, a engenharia reversa envolve desmontar algo (um dispositivo mecânico, componente eletrônico, programa de computador, ou fatores biológicos, químicos ou matéria orgânica) e analisar seus componentes e funcionamento em detalhes, tanto para fins de manutenção ou para apoiar a criação de um novo dispositivo ou programa que faz a mesma coisa, assim como duplicar o original.[1]

A engenharia reversa tem suas origens na análise de hardware para obter vantagem comercial ou militar. O objetivo é deduzir as decisões de design de produtos finais com pouco ou nenhum conhecimento adicional sobre os procedimentos envolvidos na produção original. As mesmas técnicas são posteriormente pesquisadas para aplicação em sistemas de software, não para fins industriais ou de defesa, mas sim para substituir documentação incorreta, incompleta ou indisponível.[1]

Razões[editar | editar código-fonte]

Razões para a engenharia reversa[5] [6] [7] :

  • Interface: Engenharia reversa pode ser usado quando necessário um sistema efetuar interface com outro sistema e como as negociações entra os dois sistemas deverão ser estabelecidos. Esses requisitos normalmente existem para interoperabilidade.
  • Espionagem militar ou comercial: Aprender sobre o produto do concorrente, adquirindo o protótipo para posterior análise. Isso pode resultar em desenvolvimento de produto semelhante, ou melhores contramedidas.
  • Melhorar deficiências de documentação: A engenharia reversa pode ser realizada quando a documentação de um sistema para a sua concepção, produção, operação ou manutenção possui deficiências e projetistas originais não estão disponíveis para melhorá-lo. Pode fornecer a documentação mais atual necessária para compreender o estado mais atual de um sistema de software.
  • Obsolescência: Circuitos integrados muitas vezes parecem ter sido projetados em sistemas proprietários, obsoletos, o que significa que a única maneira de incorporar a funcionalidade em nova tecnologia é a engenharia reversa do chip existente e, em seguida, reprojetá-lo.
  • Modernização de software: É geralmente necessária, a fim de compreender o estado de software existente ou legado, a fim de estimar adequadamente o esforço necessário para migrar conhecimento do sistema. Muito disso pode ser impulsionada por mudanças de requisitos funcionais, de conformidade ou de segurança.
  • Produtos de análise de segurança: Para examinar como um produto funciona, quais são as especificações de seus componentes, estimar os custos e identificar o potencial de violação de patente. Aquisição de dados sensíveis por desmontar e analisar o projeto de um componente do sistema. Outra intenção pode ser a de remover proteção contra cópia, a evasão de restrições de acesso.
  • Resolução de falha: Para corrigir (ou às vezes para melhorar) o software que não é mais suportado por seus criadores (por exemplo, Abandonware).
  • Criação de duplicatas não licenciadas/aprovadas: Tais duplicatas são chamadas de clones no domínio da computação.
  • Fins acadêmicos/aprendizagem: Para fins de aprendizagem podem ser compreender as questões-chave de um projeto mal sucedido e, posteriormente, melhorar o design.
  • Inteligência técnica do competidor: Entenda o que um concorrente está realmente fazendo, contra o que eles dizem que estão fazendo.

Ver também[editar | editar código-fonte]

Referências

Bibliografia[editar | editar código-fonte]

  • Uma Pesquisa de Engenharia Reversa e Programa de Compreensão. Michael L. Nelson, 19 de abril de 1996, ODU CS 551 - Pesquisa de Engenharia de Software.
  • Yurichev, Dennis, "Uma Introdução à engenharia reversa para Iniciantes". Livro Online:http://yurichev.com/writings/RE_for_beginners-en.pdf (em inglês)
  • Eilam, Eldad (2005).Invertendo: Secrets of Reverse Engineering.Wiley Publishing.p.595.ISBN0-7645-7481-7.
  • Raja, Vinesh; Fernandes, Kiran J. (2008) Engenharia Reversa - Uma Perspectiva Industrial. Springer.p.242.ISBN978-1-84628-855-5. (em inglês)