Formação / REV-301
Reverse Engineering: ler software sem o código-fonte
Do assembly ao erro de memória: percebe o que um programa faz e onde falha.
Certificado de conclusão ENOF
Condições por definir
12 módulos
Em 3 partes, do básico ao avançado
3 desafios
Para provares que sabes fazer
Duração por definir
Publicada juntamente com o preço
O que é
A engenharia reversa é a competência que sustenta a análise de vulnerabilidades e a investigação de software desconhecido. O curso começa pela arquitetura de processadores e pelo formato dos executáveis, ensina a usar um disassembler e um debugger com método, e aplica tudo à análise de programas de laboratório preparados para o efeito.
- Para quem é
- Programadores e profissionais de segurança que querem compreender software ao nível do código máquina.
- Pré-requisitos
- Bons conhecimentos de C e noções de arquitetura de computadores. Recomendado o nível 2 ou experiência equivalente. Curso prévio: RED-101.
O que vais aprender
- Ler assembly x86-64 de funções reais escritas em C
- Usar o Ghidra e um debugger com método, não por tentativa
- Reconstruir a lógica de um programa sem código-fonte
- Identificar erros de gestão de memória e explicá-los
- Assembly x86-64
- Formato ELF e PE
- Ghidra
- Debugging
- Convenções de chamada
- Análise estática
- Análise dinâmica
- Memória e stack
Programa
12 módulos, cada um mais exigente que o anterior. O programa pode ser ajustado até à abertura das inscrições.
Iniciante
- 01Do código-fonte ao binário: compilação e linking
- 02Assembly x86-64 essencial
- 03Formatos ELF e PE
- 04Primeiros passos no Ghidra
Intermédio
- 05Reconhecer estruturas de C em assembly
- 06Debugging com breakpoints e inspeção de memória
- 07Análise de fluxo de controlo
- 08Strings, constantes e bibliotecas
Avançado
- 09Stack, heap e erros de gestão de memória
- 10Análise de programas de laboratório completos
- 11Automatizar a análise com scripts
- 12Documentar e comunicar descobertas
Prova que sabes fazer
- DESAFIO 01
Descobrir a condição que um programa de laboratório exige para avançar
- DESAFIO 02
Reconstruir em C uma função só a partir do assembly
- DESAFIO 03
Explicar por escrito onde está o erro de memória e porquê
Exemplos do tipo de desafio, sem guia. Os definitivos fecham-se com o programa.
Certificado e instrutor
Certificado de conclusão
Condições de emissão por definir.
Por anunciar
O instrutor será apresentado antes da abertura das inscrições.
Preço
A definir
Publicamos o preço antes da abertura das inscrições, com a duração e as condições do certificado.
Já está decidido
- 12 módulos, cada um com laboratório
- 3 desafios finais, sem guia
- Certificado de conclusão ENOF
Ainda por definir
- Preço e duração
- Formato e calendário
- Condições de emissão do certificado
- Data de abertura das inscrições
Bibliografia
- Bryant, R. e O'Hallaron, D. (2015). Computer Systems: A Programmer's Perspective, 3.ª ed. Pearson.
- Andriesse, D. (2018). Practical Binary Analysis. No Starch Press.
- Eagle, C. e Nance, K. (2020). The Ghidra Book. No Starch Press.
- Erickson, J. (2008). Hacking: The Art of Exploitation, 2.ª ed. No Starch Press.
Perguntas frequentes
Isto é para mim?
Os pré-requisitos estão na secção «O que é». Se tiveres dúvidas sobre o teu ponto de partida, diz-nos o que já fizeste e respondemos com franqueza, sem compromisso.
Vou praticar ou só ver?
Praticar. Cada módulo tem exercícios em laboratórios isolados, montados para reverse engineering, e o curso acaba em desafios sem guia. Nada é testado em sistemas reais.
Posso aplicar isto em sistemas que não são meus?
Não, sem autorização escrita de quem os gere. O primeiro módulo de todos os cursos trata deste ponto.
Como decorre a formação?
Ao inscreveres-te, fazes o curso completo: módulos, laboratórios e desafios. O formato e o calendário ainda estão por definir e serão publicados com as inscrições.
Recebo certificado?
Sim, um certificado de conclusão do ENOF. As condições de emissão ainda estão por definir e serão publicadas com o curso.
Quando abrem as inscrições?
Ainda não há data. Contacta-nos e avisamos-te quando abrirem.
Começa a tua formação em reverse engineering.
As inscrições ainda não abriram. Diz-nos que estás interessado e avisamos-te quando abrirem.
