conteúdo parcial

This commit is contained in:
Blau Araujo 2025-05-22 14:42:10 -03:00
parent c77e27cf90
commit 1cd49c8508

View file

@ -1,91 +1,91 @@
* 1 -- Arquitetura de computadores * 1 -- Arquitetura de computadores
** Modelo de von Neumann - Modelo de von Neumann
*** Influência nas arquiteturas modernas - Influência nas arquiteturas modernas
*** Gargalo de Von Neumann - Gargalo de Von Neumann
** Arquiteturas x86 - Arquiteturas x86
*** Características - Características
*** Gerações da família x86: - Gerações da família x86:
*** Comparativo com outras arquiteturas - Comparativo com outras arquiteturas
** Componentes de uma CPU x86_64 - Componentes de uma CPU x86_64
** Principais registradores e seus propósitos (64 bits) - Principais registradores e seus propósitos (64 bits)
*** Relação com outras arquiteturas x86 - Relação com outras arquiteturas x86
** Primeiro exemplo em Assembly x86_64 - Primeiro exemplo em Assembly x86_64
*** Seção do código executável - Seção do código executável
*** O ponto de entrada - O ponto de entrada
*** Chamada de sistema - Chamada de sistema
*** Montagem e execução (no terminal) - Montagem e execução (no terminal)
* 2 -- Linguagens, montagem e compilação * 2 -- Linguagens, montagem e compilação
** Do código-fonte ao binário - Do código-fonte ao binário
*** Arquivos texto e binários - Arquivos texto e binários
*** Formato de binário executável - Formato de binário executável
** Programação em código de máquina - Programação em código de máquina
** Linguagens de baixo e alto nível - Linguagens de baixo e alto nível
** Sistemas de tradução de linguagens - Sistemas de tradução de linguagens
*** Linguagens interpretadas - Linguagens interpretadas
*** Linguagens compiladas - Linguagens compiladas
*** Linguagens de montagem - Linguagens de montagem
** Um programa em Assembly - Um programa em Assembly
*** Tamanho do binário em bytes - Tamanho do binário em bytes
*** Informações gerais do arquivo - Informações gerais do arquivo
*** Cabeçalho do formato ELF - Cabeçalho do formato ELF
*** Lista de seções do programa - Lista de seções do programa
*** Despejo do conteúdo (em hexa) da seção .text - Despejo do conteúdo (em hexa) da seção .text
*** Despejo do conteúdo (em hexa) da seção .rodata - Despejo do conteúdo (em hexa) da seção .rodata
** Uma versão equivalente em C - Uma versão equivalente em C
*** Tamanho do binário em bytes: - Tamanho do binário em bytes:
*** Informações gerais do arquivo - Informações gerais do arquivo
*** Cabeçalho do formato ELF - Cabeçalho do formato ELF
*** Lista de seções do programa - Lista de seções do programa
*** Despejo do conteúdo (em hexa) da seção .text - Despejo do conteúdo (em hexa) da seção .text
*** Despejo do conteúdo (em hexa) da seção .rodata - Despejo do conteúdo (em hexa) da seção .rodata
** Desmontagem comparativa - Desmontagem comparativa
* 3 -- O formato binário ELF * 3 -- O formato binário ELF
** O que é o formato ELF - O que é o formato ELF
*** Principais tipos de arquivos objeto - Principais tipos de arquivos objeto
** Formato do arquivo - Formato do arquivo
** Seções especiais - Seções especiais
** Tipos de segmentos - Tipos de segmentos
** Definindo seções ELF em NASM para Linux 64 bits - Definindo seções ELF em NASM para Linux 64 bits
*** Uma nota sobre alinhamento de dados - Uma nota sobre alinhamento de dados
*** Inspecionando a seção .rodata - Inspecionando a seção .rodata
*** Inspeção da seção .data - Inspeção da seção .data
*** Inspecionando a seção .bss - Inspecionando a seção .bss
* 4 -- Mapeamento de memória * 4 -- Mapeamento de memória
** Como programas são executados - Como programas são executados
*** O que são processos - O que são processos
*** Layout da memória virtual de um processo - Layout da memória virtual de um processo
** Explorando os espaços de endereços de processos - Explorando os espaços de endereços de processos
** Mapeamento de memória de um programa em C - Mapeamento de memória de um programa em C
*** Análise com 'pmap' - Análise com 'pmap'
*** Análise com o arquivo /proc/<pid>/maps - Análise com o arquivo /proc/<pid>/maps
** Mapeamento de memória de um programa em Assembly - Mapeamento de memória de um programa em Assembly
*** Análise com o GNU Debugger (GDB) - Análise com o GNU Debugger (GDB)
*** Executáveis independentes de posição (PIE) - Executáveis independentes de posição (PIE)
* 5 -- Pilha de hardware e pilha de memória * 5 -- Pilha de hardware e pilha de memória
** Objetivos - Objetivos
** O conceito de pilha (stack) - O conceito de pilha (stack)
*** Implementação da pilha como estrutura de dados - Implementação da pilha como estrutura de dados
*** Aplicações típicas - Aplicações típicas
*** Operações associadas às pilhas - Operações associadas às pilhas
** Pilha de memória - Pilha de memória
** Pilha de hardware - Pilha de hardware
** Registradores e a pilha de memória - Registradores e a pilha de memória
** Convenções de chamadas de funções (System V AMD64 ABI) - Convenções de chamadas de funções (System V AMD64 ABI)
*** Ordem dos argumentos - Ordem dos argumentos
*** Valor de retorno - Valor de retorno
*** Registradores preservados e não preservados - Registradores preservados e não preservados
*** Exemplo em C - Exemplo em C
*** Quadro de pilha (/stack frame/) - Quadro de pilha (/stack frame/)
** Convenções de chamadas de sistema - Convenções de chamadas de sistema
*** Exemplo em Assembly - Exemplo em Assembly
*** Preservação de registradores com a pilha - Preservação de registradores com a pilha
*** Resumo comparativo com chamadas de funções - Resumo comparativo com chamadas de funções