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
@Fernando Mercês é Pesquisador de Ameaças na Trend Micro, onde atua como investigador de ciber crime, utilizando engenharia reversa e técnicas de inteligência de ameaças no time de Pesquisa de Ameaças Futuras (FTR). Criador de várias ferramentas livres na área, com frequência apresenta suas pesquisas nos principais eventos de segurança no Brasil e no exterior. É também professor e fundador da Mente Binária, uma instituição de ensino e pesquisa sem fins lucrativos comprometida com o ensino de computação no Brasil.
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
A confirmar
-
6
-
2