Ir para conteúdo
Fernando Mercês

Engenharia Reversa I

Posts Recomendados

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, ministrado em dois sábados, das 9 às 18h, é 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).

Turmas em 2017

  • Este treinamento está sendo convertido para o modelo online e estará disponível em breve!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde galera!

Aproveitando esse novo escopo fantástico do MenteBinária quero deixar aqui mais uma vez meu feedback sobre o "curso" de R.E.

Sim, coloquei curso entre aspas, mas por que? Porque ganhei muito mais que isso. Bom, fui até lá com o seguinte pensamento: "Quero pontuar alguns conceitos e ver onde se aplicam na R.E". De fato, pontuei, aprendi e revisei muitos conceitos (e muitos que eu não tinha noção de que poderiam ser tão importantes), mas foi muito além disso. A forma descontraída, a preocupacão com os detalhes e com o entendimento da galera, um role descontraído logo após o curso, tudo isso acompanhado de boas risadas me fizeram não só ficar mais sedento ainda pelo conhecimento, mas conhecer pessoas fodas que admiro e converso até hoje. Como eu disse no meu feedback anterior: O curso faz vc simplesmente ignorar o valor monetário que é investido. 

Obrigado a todos =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae pessoal tudo bem?

Exista alguma previsão para realização do treinamento ainda esse ano da cidade de São Paulo?

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficamos no aguardo, o bacana da versão online é que mais pessoas podem participar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 16/08/2017 em 14:34, Baracat disse:

@Fernando Mercês, mal posso esperar pela segunda parte do curso. E acredito que uma galera pensa igual! =)

Já temos as datas e as inscrições serão abertas essa semana. Informaremos aqui no site/fórum ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 29/08/2017 em 22:01, Nathália Oliveira disse:

Já temos as datas e as inscrições serão abertas essa semana. Informaremos aqui no site/fórum ;)

Onde foi postado ?

Gostaria de ser aluno do curso de vocês, mas não sei onde vê valores nem se as inscriçoes ainda estão abertas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora


  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×