terça-feira, 13 de novembro de 2012

Engenharia de Software reversa para depuração


Engenharia reversa de software tem sido lá desde software estão sendo feitas. Engenharia reversa de software é uma habilidade pela qual software pode ser revertido para sua forma básica através de uma série de etapas. Reverter para a forma básica significa que um software é levado de volta para o nível de código fonte, quando foi desenvolvido. Às vezes, é impossível para um software para ser trazido de volta até ao seu código fonte.

Bastante freqüência, o software não são totalmente levado ao nível de código fonte ou simplesmente não pode ser, mas eles são trazidos para baixo até o nível da linguagem de montagem. Linguagem Assembly é uma linguagem compreensível CPU que é diferente para diferentes arquiteturas de CPU. Explicando linguagem assembly seria certamente fora do escopo deste artigo, que seja um tema para discussão em outro momento. Em suma, posso dizer que a linguagem assembly é uma linguagem de baixo nível e, obviamente, extremamente difícil de entender apenas lendo-lo.

Uma questão que surge aparente se um software é engenharia inversa com o nível de montagem, que é difícil de compreender, em seguida, o que é o uso da linguagem assembly. Linguagem assembly tem certas instruções conhecidos como códigos de montagem que definem o fluxo de um programa, a estrutura do programa, funções, etc Tudo que o software é capaz de fazer pode ser modificado ou excluído usando esses códigos. Este é o lugar onde se fala sobre a depuração e como a engenharia reversa pode ajudar a depurar. A depuração é encontrar bugs em nosso software e corrigi-los se necessário.

A depuração é feita com mais freqüência na fase de desenvolvimento, o que significa que o software está sendo desenvolvido, mas codificados ou, por vezes, alguns bugs e erros não podem ser corrigidos em fase de desenvolvimento. Alguns desses erros podem ser identificados e corrigidos no entanto, quando o programa em causa é pequeno em seu código-fonte, mas torna-se extremamente difícil de corrigir os erros quando o programa é enorme e complexo. Engenharia reversa pode ajudar os programadores a construir software melhor, eliminando erros por apenas entender as técnicas, procedimentos e ferramentas de engenharia reversa.

Engenharia reversa de software não é apenas sobre os bugs, mas todo o aspecto de desenvolvimento de software absolutamente nítidas e perfeitas como também extensível no futuro. Extensibilidade com o uso da engenharia reversa também é uma grande vantagem da engenharia reversa, como geralmente vemos manchas sendo lançados por empresas de software para um exploit de segurança ou falta de função necessária. Engenharia reversa de software é extremamente útil se for feito de forma ética e legal, mas não é isso que acontece geralmente.

Biscoitos hoje muitos nascem nas pistas informações estrada que usam a tecnologia para explorar e abusar da tecnologia. Crackers são pessoas que invertem o engenheiro de software não para fins de depuração, mas sim para quebrar isso. Eles usam ferramentas de engenharia reversa e técnicas para quebrar os mecanismos de segurança de autenticação. Ao quebrar os mecanismos estes crackers roubam senhas de segurança e software de correção ilegalmente que eles podem automatizar criando rachaduras. Rachaduras são pequenos programas utilitários, que são distribuídos através da Internet e e-mails, que ajudam outras pessoas quebrar os mecanismos de segurança de software com apenas um clique de botão e sem qualquer conhecimento de engenharia reversa também.

Qualquer que seja mau uso de engenharia reversa de software tem causado e continua a causar, mas está aqui para ficar, e para ajudar a construir software melhor. Como diz o velho ditado, "O que é bom, vai ser quebrado!", A única maneira de sair do mau uso da engenharia reversa é o de "superar o cracker."...

Nenhum comentário:

Postar um comentário