O que é Engenharia Reversa?
Engenharia reversa de software é a técnica para entender como um trecho de código funciona sem possuir seu código-fonte. É aplicável em diversas áreas da tecnologia como:
- Análise de malware
- Reimplementação de software e protocolos
- Correção de bugs
- Análise de vulnerabilidades
- Adição/Alteração de recursos no software
- Proteções anti-pirataria
Alguns termos e abreviações para a engenharia reversa incluem: RCE (Reverse Code Engineering), RE, e reversing.
Como funciona?
Quando um programa tradicional é construído, o resultado final é um arquivo executável que possui uma série de instruções em código de máquina para que o processador de determinada arquitetura possa executar. Com ajuda de software específicos, profissionais com conhecimentos dessa linguagem (em nosso caso, Assembly) podem entender como o programa funciona e, assim, estudá-lo ou até fazer alterações no mesmo.
O curso
Este curso é uma sólida introdução sobre Engenharia Reversa. Nele os estudantes aprendem, desde o zero e com a preocupação de entender o motivo de cada passo, como reverter programas básicos em Windows e Linux, adquirindo assim todo o conhecimento necessário para seguir seus estudos em desafios mais avançados na análise de malware e engenharia reversa de aplicações em geral. Cada tópico prático do curso é acompanhado de um ou mais exercícios para fixação do conteúdo.
O que você vai aprender
- A Engenharia Reversa e Suas Aplicações
- Falando em Binário e em Hexadecimal
- Arquivos
- Arquivos Binários
-
Cadeias de Texto
- ASCII e UNICODE
-
Arquivos Executáveis
- Cabeçalhos e Campos
- Seções e Mapeamento em Memória
- Carregamento de Programas
- Introdução ao Assembly x86
- Arquiteturas
- Registradores
- Instruções Básicas
- Funções e Pilha
- Debugging Básico
- Opcodes, Mnemônicos e Instruções
- Breakpoints de software e hardware
- Patching
O instrutor
@Leandro Fróes é Engenheiro de Pesquisa em Ameaças sênior na Netskope. Autor de vários artigos no portal Mente Binária, Leandro analisa, documenta e estuda técnicas de malwares diariamente há cinco anos! Também é o criador do Curso de Ghidra da Mente Binária e das ferramentas gftrace e manw.
Pré-requisitos
- Lógica de programação
-
Computador próprio com:
- Placa de rede sem fio (na modalidade presencial).
-
VMware Player ou Pro instalado
- A VM entregue é para arquitetura Intel, AMD, e compatíveis. Computadores com processadores ARM precisam emular a VM, o que deixa tudo muito lento. Se você só tiver acesso a computadores com processadores ARM, vai precisar criar sua própria VM de Windows.
- Capacidade para rodar uma VM de 4 GB de RAM e 60 GB de disco
- Última versão do Zoom (na modalidade online)
Próximas turmas
23 de 24 de Novembro de 2024 (online)
- 5
- 2