conteúdo parcial
This commit is contained in:
parent
c77e27cf90
commit
1cd49c8508
1 changed files with 77 additions and 77 deletions
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue