Uma aula de engenharia reversa ? o conceito usado para a observa??o, estudo e compreens?o de qualquer programa de software amplo ou espec?fico. Engenharia reversa ? o termo aplicado ? maneira como os alunos aprendem sobre um determinado programa de software, dispositivo eletr?nico ou objeto mec?nico, desmontando-o e examinando como ele funciona. Existem v?rias t?cnicas diferentes que est?o sendo adotadas por engenheiros reversos, como hackers para obter o c?digo fonte de um software. Aprender a arte da engenharia reversa n?o ? uma tarefa f?cil, porque o aluno ter? que aprender o processo de retroceder atrav?s de um programa para ver como ele funciona.
Para escolher a melhor aula de engenharia reversa, certifique-se de que eles ensinem ao aluno sobre a estrutura x86, habilidades de programa??o e que o professor tenha um forte conhecimento dos circuitos l?gicos digitais. Os port?es l?gicos como OR, AND, NOT e muitos outros, como XOR, XNOR e NAND, precisam ser cobertos dentro da sala de aula. O pr?ximo passo importante e significativo para o aprendizado da engenharia reversa ? o entendimento das funcionalidades dos diferentes softwares e programas, como o est?dio de drivers, o visual basic, o software de cracking de java e outros, como o SoftICE. ? extremamente importante entender e conhecer os vers?teis softwares de desenvolvimento e hackers e manter todas as ferramentas afinadas, para que a melhor classe de engenharia reversa cubra todos esses aspectos em profundidade.
Existem v?rias estrat?gias e aspectos de prote??o que tamb?m devem ser abordados na classe de engenharia reversa, como prote??es de senha, prote??es de hardware, ativa??o / desativa??o de fun??o e outros esquemas de seguran?a comercial. A seguran?a e a prote??o s?o a primeira parede na qual os engenheiros reversos precisam passar para ter sucesso. Existem in?meras estrat?gias de prote??o e privacidade que s?o adotadas pelos desenvolvedores e empresas de software, para que a classe tenha um conhecimento profundo delas e seja capaz de ensinar maneiras de contorn?-las ou contorn?-las.
Conceitos b?sicos e conhecimento da linguagem assembly e suas aplica??es tamb?m s?o pr?-requisitos para uma aula de engenharia reversa. O aluno tamb?m precisar? estar familiarizado com depuradores, dissimuladores e outros softwares utilit?rios. O conceito e a id?ia b?sicos sobre os diferentes aspectos e vulnerabilidades de viola??o de seguran?a s?o obrigat?rios para os alunos de engenharia reversa aprenderem. As outras t?cnicas que eles devem ensinar s?o: localiza??o de vulnerabilidades, avalia??o das solu??es e uso de linguagens de alta classe, como c?digos de assinatura bin?ria e de assembly.