| title | tags | level | difficulty | tools | created | last_modified | version | status | updated_by | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Vault ASM (x86-64, NASM) |
|
principiante,intermedio,avanzado |
|
2025-06-27 |
1.0.0 |
stable |
TuNombre |
Note
Guía definitiva para aprender ensamblador x86-64 (NASM) en Arch Linux 2025, desde fundamentos hasta hacking ofensivo. Optimizada para Obsidian con soporte para Dataview, Excalidraw, Canvas, y Codeblock. En GitHub, usa los enlaces relativos para navegar.
Arquitectura: x86-64 (64 bits, sintaxis NASM)
Entorno: Arch Linux 2025, NASM, GDB, Radare2, Cutter, pwntools, Docker, QEMU, Ghidra, checksec
Enlaces Clave: [[Tablas/x86-64_NASM_Ultimate_Cheatsheet]] (Tablas/x86-64_NASM_Ultimate_Cheatsheet.md) | [[Tablas/Changelog]] (Tablas/Changelog.md)
Objetivo: Dominar ASM para desarrollo, reversing, y hacking ético.
Advertencia:
Los niveles 50-100 (buffer overflow, shellcode, inyección) deben ejecutarse solo en entornos aislados (Docker, QEMU). Ver [[100.02_Inyeccion_en_Stack]] (100_Shellcode_Injection/100.02_Inyeccion_en_Stack/Apuntes/100.02_Inyeccion_en_Stack.md).
- Descripción
- Niveles de Aprendizaje
- Instrucciones de Uso
- Estructura del Vault
- Recursos Recomendados
- Dataview Queries
- Git y Versionado
- Estado del Proyecto
Este vault es una guía estructurada para aprender ensamblador x86-64 (NASM) en Arch Linux, cubriendo desde conceptos básicos hasta técnicas avanzadas de hacking ofensivo. Cada nivel incluye:
- Archivos
.asm: Código fuente comentado. - Archivos
.md: Apuntes teóricos, ejemplos, y enlaces bidireccionales (Obsidian) o relativos (GitHub). - Índices (
index.md): Resumen de submódulos por nivel. - Cheatsheet: [[Tablas/x86-64_NASM_Ultimate_Cheatsheet]] (Tablas/x86-64_NASM_Ultimate_Cheatsheet.md).
Tip
Usa Canvas en Obsidian para mapear niveles o crea un Excalidraw para visualizar el stack. En GitHub, navega con los enlaces relativos.
Excalidraw: Mapa de Aprendizaje
Crea un canvas con nodos para cada nivel, conectando al cheatsheet y changelog. Ver [[20.04_Estructura_de_Funciones]] (20_Stack_y_Funciones/20.04_Estructura_de_Funciones/Apuntes/20.04_Estructura_de_Funciones.md).
Ver Niveles
- [[00_MOV_y_Registros_Basicos/index]] (00_MOV_y_Registros_Basicos/index.md) - Introducción a MOV y registros.
- [[05_Operaciones_Aritmeticas/index]] (05_Operaciones_Aritmeticas/index.md) - Sumas, restas, multiplicaciones, y banderas.
- [[10_Saltos_y_Control_de_Flujo/index]] (10_Saltos_y_Control_de_Flujo/index.md) - Saltos, comparaciones, y bucles.
- [[15_Logica_y_Manipulacion_de_Bits/index]] (15_Logica_y_Manipulacion_de_Bits/index.md) - Operaciones lógicas y desplazamientos.
- [[20_Stack_y_Funciones/index]] (20_Stack_y_Funciones/index.md) - Gestión de pila y funciones.
- [[25_Segmentos_de_Memoria/index]] (25_Segmentos_de_Memoria/index.md) - Secciones
.data,.bss, y variables. - [[30_Entrada_Salida/index]] (30_Entrada_Salida/index.md) - Syscalls para entrada/salida.
- [[35_Strings_y_Estructuras/index]] (35_Strings_y_Estructuras/index.md) - Manipulación de strings y estructuras.
Ver Niveles
- [[40_Debugging_GDB_Objdump/index]] (40_Debugging_GDB_Objdump/index.md) - Debugging con GDB, Objdump, y Ghidra.
- [[45_Formato_ELF/index]] (45_Formato_ELF/index.md) - Estructura de binarios ELF.
- [[50_Buffer_Overflow/index]] (50_Buffer_Overflow/index.md) - Desbordamientos de búfer básicos.
- [[55_Análisis_de_Malware/index]] (55_Análisis_de_Malware/index.md) - Análisis estático y dinámico de malware.
- [[60_Proteccion_y_Evasion/index]] (60_Proteccion_y_Evasion/index.md) - Mitigaciones (ASLR, NX, Canaries) y evasión.
- [[65_Avanzado_Syscalls/index]] (65_Avanzado_Syscalls/index.md) - Syscalls complejas (execve, mmap).
Ver Niveles
- [[70_ROP/index]] (70_ROP/index.md) - Return-Oriented Programming (ROP).
- [[75_Optimizacion_y_Ofuscacion/index]] (75_Optimizacion_y_Ofuscacion/index.md) - Optimización y ofuscación de código.
- [[80_Shellcode/index]] (80_Shellcode/index.md) - Desarrollo de shellcode sin null bytes.
- [[85_Exploit_Development/index]] (85_Exploit_Development/index.md) - Creación de exploits con pwntools.
- [[90_Inyeccion_de_Codigo/index]] (90_Inyeccion_de_Codigo/index.md) - Inyección en memoria, ELF, y procesos.
- [[95_Protecciones_Avanzadas/index]] (95_Protecciones_Avanzadas/index.md) - RELRO, PIE, Fortify Source.
- [[100_Shellcode_Injection/index]] (100_Shellcode_Injection/index.md) - Inyección avanzada de shellcode.
- [[105_Proyectos_Avanzados/index]] (105_Proyectos_Avanzados/index.md) - Proyectos finales y exploits completos.
sudo pacman -Syu
sudo pacman -S nasm gdb radare2 cutter python-pwntools docker qemu-system-x86 ghidra binutils checksec
yay -S obsidian
sudo usermod -aG docker $USER
newgrp docker