Reverse Engineering para Todos
(0xinfection.github.io)Introdução
-
Curso de x86
- Part 1: Objetivo
- Part 2: Técnica
- Part 3: Tipos de malware
- Part 4: Introdução ao assembly x86
- Part 5: Sistema binário
- Part 6: Sistema hexadecimal
- Part 7: Transistores e memória
- Part 8: Byte, word, double word etc.
- Part 9: Arquitetura básica do x86
- Part 10: Registradores de propósito geral
- Part 11: Registradores de segmento
- Part 12: Registrador ponteiro de instrução
- Part 13: Registradores de controle
- Part 14: Flags
- Part 15: Stack
- Part 16: Heap
- Part 17: Como instalar o Linux
- Part 18: Editor de texto vim
- Part 19: Por que aprender assembly
- Part 20: Processamento de opcode
- Part 21: Como compilar programas
- Part 22: Programa ASM 1 [movimentação imediata de dados]
- Part 23: Debug de ASM 1 [movimentação imediata de dados]
- Part 24: Hacking de ASM 1 [movimentação imediata de dados]
- Part 25: Programa ASM 2 [movimentação de dados entre registradores]
- Part 26: Debug de ASM 2 [movimentação de dados entre registradores]
- Part 27: Hacking de ASM 2 [movimentação de dados entre registradores]
- Part 28: Programa ASM 3 [movimentação de dados entre memória e registradores]
- Part 29: Debug de ASM 3 [movimentação de dados entre memória e registradores]
- Part 30: Hacking de ASM 3 [movimentação de dados entre memória e registradores]
- Part 31: Programa ASM 4 [movimentação de dados entre registradores e memória]
- Part 32: Debug de ASM 4 [movimentação de dados entre registradores e memória]
- Part 33: Hacking de ASM 4 [movimentação de dados entre registradores e memória]
- Part 34: Programa ASM 5 [endereçamento indireto por registrador]
- Part 35: Debug de ASM 5 [endereçamento indireto por registrador]
- Part 36: Hacking de ASM 5 [endereçamento indireto por registrador]
- Part 37: Programa ASM 6 [instrução CMOV]
- Part 38: Debug de ASM 6 [instrução CMOV]
- Part 39: Hacking de ASM 6 [instrução CMOV]
- Part 40: Conclusão
-
Curso ARM-32 1
- Part 1: O sentido da vida
- Part 2: Sistema numérico
- Part 3: Soma binária
- Part 4: Subtração binária
- Part 5: Tamanho da word
- Part 6: Registradores
- Part 7: Contador de programa
- Part 8: CPSR
- Part 9: Registrador de link
- Part 10: Ponteiro de stack
- Part 11: Processo de boot do firmware ARM
- Part 12: Arquitetura de von Neumann
- Part 13: Pipeline de instruções
- Part 14: ADD
- Part 15: Debug de ADD
- Part 16: Hacking de ADD
- Part 17: ADDS
- Part 18: Debug de ADDS
- Part 19: Hacking de ADDS
- Part 20: ADC
- Part 21: Debug de ADC
- Part 22: Hacking de ADC
- Part 23: SUB
- Part 24: Debug de SUB
- Part 25: Hacking de SUB
-
Curso ARM-32 2
- Part 1: O sentido da vida Part 2
- Part 2: Sistema numérico
- Part 3: Soma binária
- Part 4: Subtração binária
- Part 5: Tamanho da word
- Part 6: Registradores
- Part 7: Contador de programa
- Part 8: CPSR
- Part 9: Registrador de link
- Part 10: Ponteiro de stack
- Part 11: Processo de boot do firmware
- Part 12: Arquitetura de von Neumann
- Part 13: Pipeline de instruções
- Part 14: Hello World
- Part 15: Debug de Hello World
- Part 16: Hacking de Hello World
- Part 17: Constantes
- Part 18: Debug de constantes
- Part 19: Hacking de constantes
- Part 20: Variável de caractere
- Part 21: Debug de variável de caractere
- Part 22: Hacking de variável de caractere
- Part 23: Variável booleana
- Part 24: Debug de variável booleana
- Part 25: Hacking de variável booleana
- Part 26: Variável inteira
- Part 27: Debug de variável inteira
- Part 28: Hacking de variável inteira
- Part 29: Variável de ponto flutuante
- Part 30: Debug de variável de ponto flutuante
- Part 31: Hacking de variável de ponto flutuante
- Part 32: Variável double
- Part 33: Debug de variável double
- Part 34: Hacking de variável double
- Part 35: Operador SizeOf
- Part 36: Debug do operador SizeOf
- Part 37: Hacking do operador SizeOf
- Part 38: Operador de incremento prefixado
- Part 39: Debug do operador de incremento prefixado
- Part 40: Hacking do operador de incremento prefixado
- Part 41: Operador de incremento pós-fixado
- Part 42: Debug do operador de incremento pós-fixado
- Part 43: Hacking do operador de incremento pós-fixado
- Part 44: Operador de decremento prefixado
- Part 45: Debug do operador de decremento prefixado
- Part 46: Hacking do operador de decremento prefixado
- Part 47: Operador de decremento pós-fixado
- Part 48: Debug do operador de decremento pós-fixado
- Part 49: Hacking do operador de decremento pós-fixado
-
Curso de x64
- Part 1: Revolução cibernética
- Part 2: Transistores
- Part 3: Portas lógicas
- Part 4: Sistema numérico
- Part 5: Soma binária
- Part 6: Subtração binária
- Part 7: Tamanho da word
- Part 8: Arquitetura geral
- Part 9: Convenção de chamada
- Part 10: Instruções booleanas
- Part 11: Ponteiros
- Part 12: Carregamento de endereço efetivo
- Part 13: Segmento de dados
- Part 14: Instrução SHL
- Part 15: Instrução SHR
- Part 16: Instrução ROL
- Part 17: Instrução ROR
- Part 18: Fundamentos de boot sector [Part 1]
- Part 19: Fundamentos de boot sector [Part 2]
- Part 20: Fundamentos de boot sector [Part 3]
- Part 21: Fundamentos de boot sector [Part 4]
- Part 22: Fundamentos de boot sector [Part 5]
- Part 23: Fundamentos de boot sector [Part 6]
- Part 24: Fundamentos de boot sector [Part 7]
- Part 25: Fundamentos de boot sector [Part 8]
- Part 26: Fundamentos de boot sector [Part 9]
- Part 27: Assembly x64 [Part 1]
- Part 28: Assembly x64 [Part 2]
- Part 29: Assembly x64 [Part 3]
- Part 30: Assembly x64 [Part 4]
- Part 31: Assembly x64 [Part 5]
- Part 32: Assembly x64 [Part 6]
- Part 33: Assembly x64 [Part 7]
- Part 34: Código x64 C++ 1 [Part 1]
- Part 35: Debug x64 C++ 2 [Part 2]
- Part 36: Hacking x64 C++ 3 [Part 3]
- Part 37: x64 C & a origem da vida
- Part 38: Fundamentos de redes x64
- Part 39: Por que C?
- Part 40: Hacking de Hello World!
- Part 41: Hacking de variáveis!
- Part 42: Hacking de desvios!
- Part 43: Hacking de ponteiros!
-
Curso ARM-64
- Part 1: O sentido da vida
- Part 2: Configuração do ambiente de desenvolvimento
- Part 3: "Hello World"
- Part 4: Debug de "Hello World"
- Part 5: Hacking de "Hello World"
- Part 6: I/O básico
- Part 7: Debug de I/O básico
- Part 8: Hacking de I/O básico
- Part 9: Tipo primitivo de dados caractere
- Part 10: Debug do tipo primitivo de dados caractere
- Part 11: Hacking do tipo primitivo de dados caractere
- Part 12: Tipo primitivo de dados booleano
- Part 13: Debug do tipo primitivo de dados booleano
- Part 14: Hacking do tipo primitivo de dados booleano
- Part 15: Tipo primitivo de dados de ponto flutuante
- Part 16: Debug do tipo primitivo de dados de ponto flutuante
- Part 17: Hacking do tipo primitivo de dados de ponto flutuante
- Part 18: Tipo primitivo de dados double
- Part 19: Debug do tipo primitivo de dados double
- Part 20: Hacking do tipo primitivo de dados double
-
Curso de hacking para Pico
- Part 1: Razão e método
- Part 2: Hello World
- Part 3: Debug de Hello World
- Part 4: Hacking de Hello World
- Part 5: char
- Part 6: Debug de char
- Part 7: Hacking de char
- Part 8: int
- Part 9: Debug de int
- Part 10: Hacking de int
- Part 11: float
- Part 12: Debug de float
- Part 13: Hacking de float
- Part 14: double
- Part 15: Debug de double
- Part 16: Hacking de double
- Part 17: "O poder absoluto corrompe absolutamente!", a história trágica da entrada
- Part 18: "Por 800 anos eu treinei Jedi!", o poder da entrada
- Part 19: Entrada
- Part 20: Debug de entrada
-
Reverse Engineering For Everyone!
- O que é engenharia reversa?
- Segundo a Wikipedia, engenharia reversa é o processo de desmontar um objeto artificial para revelar seu projeto, arquitetura, código etc., ou extrair conhecimento do objeto. Isso é semelhante à pesquisa científica que estuda fenômenos naturais.
- Este conjunto de tutoriais existe para tornar a engenharia reversa o mais fácil possível.
- Este conjunto abrangente de tutoriais de engenharia reversa cobre as arquiteturas x86, x64, ARM de 32 bits e ARM de 64 bits.
- Ajuda iniciantes a aprender os conceitos básicos de engenharia reversa e também é útil para quem deseja revisar os conceitos.
- É possível baixar o conjunto completo de tutoriais em formato PDF ou MOBI.
- O que é engenharia reversa?
Resumo do GN⁺
- Este artigo aborda vários tutoriais de engenharia reversa, incluindo cursos de x86, x64, ARM-32, ARM-64 e hacking para Pico.
- É um material útil para quem deseja aprender técnicas de engenharia reversa do nível iniciante ao intermediário.
- As técnicas de engenharia reversa são muito importantes na área de cibersegurança.
- Os tutoriais são oferecidos em formatos PDF e MOBI, aumentando a acessibilidade.
- Projetos com funcionalidades semelhantes incluem "Practical Reverse Engineering" e "Reversing: Secrets of Reverse Engineering".
Ainda não há comentários.