Jump to content

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, 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-64
  • Arquiteturas
  • Registradores
  • Instruções Básicas
  • Funções e Convenção de Chamadas Microsoft x64
  • Debugging Básico
  • Opcodes, Mnemônicos e Instruções
  • Breakpoints de software e hardware
  • Patching

A professora

@thayse.solis é Engenheira de Computação, Mestre em Informática e atua como Analista de Segurança Ofensiva na Vultus, dedicando-se a identificar vulnerabilidades e simular ataques para testar a eficácia da postura de segurança de empresas. Nutre uma profunda paixão por segurança cibernética e motivada pelo desafio e curiosidade em compreender como as coisas funcionam, encontrou a área de Engenharia Reversa, à qual tem se dedicado com entusiasmo.

Pré-requisitos

  • Lógica de programação
  • Computador próprio com:
    • VMware Player ou Workstation instalado (é gratuito)
      • A máquina virtual entregue é para arquitetura Intel, AMD e compatíveis. Computadores com processadores ARM precisam emular a máquina virtual, o que deixa tudo muito lento. Se você só tiver acesso a computadores com processadores ARM, vai precisar criar sua própria máquina virtual de Windows.
    • Capacidade para rodar uma máquina virtual de 4 GB de RAM e 60 GB de disco
  • Última versão do Zoom instalada.

Próximas turmas

A definir.

 

User Feedback

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
  • This will not be shown to other users.
  • Add a review...

More options...
   3 of 3 members found this review helpful 3 / 3 members

Farei por puro prazer de aprender, adoro o tema! Brinquei em assembly bastante na minha infância lá pra 92. O Tema me ajuda a me tornar um programador melhor. Sou programador e minha especialidade é em baixa latência. 😃

   3 of 3 members found this review helpful 3 / 3 members

Excelente, foi bom para relembrar o que ja sabia e aprender muita coisa nova.