Ir para conteúdo
Click or hover over image to zoom in

Engenharia Reversa I

R$ 850,00
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 de máquina (em nosso caso, Assembly x86) podem entender como o programa funciona e, assim, estudá-lo ou até fazer alterações no mesmo.
O treinamento
Este curso de 16 horas é uma sólida introdução sobre engenharia reversa na arquitetura x86. Nele o aluno aprende desde o zero e com a preocupação de entender o motivo de cada passo, como reverter programas básicos na plataforma Windows (apesar de vários dos assuntos estudados serem aplicáveis a outras plataformas com pouca ou nenhuma adaptação), adquirindo assim todo o conhecimento necessário para seguir seus estudos em desafios mais avançados na engenharia reversa de aplicações em geral, como análise de malware. Cada tópico prático do curso é acompanhado de um ou mais exercícios para fixação do conteúdo. Uma máquina virtual é entregue ao aluno e todos os laboratórios são realizados nela.
Programa
Dia 1
Engenharia Reversa e suas aplicações Sistemas de numeração Arquivos Arquivos binários Strings de texto ASCII e UNICODE Arquivos executáveis O formato PE Cabeçalhos e campos Seções e seu mapeamento em memória Processo de carregamento de programas Chamadas à API do Windows Dia 2
Assembly x86 Arquiteturas Registradores e flags Instruções básicas Chamadas de funções e uso da pilha de memória Depuração básica Opcodes, mnemônicos e instruções Breakpoints Patches Pré-requisitos
Lógica de programação. Noções de shell do Linux. Inglês técnico (leitura). Virtualização com VirtualBox. Laptop próprio com placa de rede sem fio, VirtualBox instalado e capacidade para rodar uma VM de 1 GB de RAM e 30 GB de disco. Não é necessário conhecer Assembly previamente. Desejável assistir as aulas do treinamento Programação Moderna em C. Alguns números do treinamento
81 alunos treinados nas 9 vezes que realizamos este treinamento, totalizando 144 horas de aula. 100% dos alunos que responderam a pesquisa indicam o treinamento. Avaliação geral: (4,9).


    Escolha acima quando e onde quer fazer o treinamento! ;-)

Sobre Engenharia Reversa I

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 de máquina (em nosso caso, Assembly x86) podem entender como o programa funciona e, assim, estudá-lo ou até fazer alterações no mesmo.

O treinamento

Este curso de 16 horas é uma sólida introdução sobre engenharia reversa na arquitetura x86. Nele o aluno aprende desde o zero e com a preocupação de entender o motivo de cada passo, como reverter programas básicos na plataforma Windows (apesar de vários dos assuntos estudados serem aplicáveis a outras plataformas com pouca ou nenhuma adaptação), adquirindo assim todo o conhecimento necessário para seguir seus estudos em desafios mais avançados na engenharia reversa de aplicações em geral, como análise de malware. Cada tópico prático do curso é acompanhado de um ou mais exercícios para fixação do conteúdo. Uma máquina virtual é entregue ao aluno e todos os laboratórios são realizados nela.

Programa

Dia 1

  • Engenharia Reversa e suas aplicações
  • Sistemas de numeração
  • Arquivos
    • Arquivos binários
  • Strings de texto
    • ASCII e UNICODE
  • Arquivos executáveis
    • O formato PE
      • Cabeçalhos e campos
      • Seções e seu mapeamento em memória
  • Processo de carregamento de programas
  • Chamadas à API do Windows

Dia 2

  • Assembly x86
    • Arquiteturas
    • Registradores e flags
    • Instruções básicas
    • Chamadas de funções e uso da pilha de memória
  • Depuração básica
    • Opcodes, mnemônicos e instruções
    • Breakpoints
    • Patches

Pré-requisitos

  • Lógica de programação.
  • Noções de shell do Linux.
  • Inglês técnico (leitura).
  • Virtualização com VirtualBox.
  • Laptop próprio com placa de rede sem fio, VirtualBox instalado e capacidade para rodar uma VM de 1 GB de RAM e 30 GB de disco.
  • Não é necessário conhecer Assembly previamente.
  • Desejável assistir as aulas do treinamento Programação Moderna em C.

Alguns números do treinamento

  • 81 alunos treinados nas 9 vezes que realizamos este treinamento, totalizando 144 horas de aula.
  • 100% dos alunos que responderam a pesquisa indicam o treinamento.
  • Avaliação geral: (4,9).
×