Assembly x86/x64 para ingeniería inversa: guía de campo

Stack frames, variables globales y locales, clases vs structs, malloc/new, pilas y listas enlazadas, convenciones de llamada (cdecl/stdcall/SystemV/Windows x64) y heurísticas para identificar funciones en Ghidra.

01. Resumen

Material de estudio (20 secciones) para leer ensamblador en sesiones de reversing: memoria dinámica (malloc/realloc/free vs new/delete con bad_alloc), estructuras de datos reconocibles por patrones de indexación [base+idx*size+off], aritmética de punteros, alineamiento/padding y las convenciones de llamada cdecl/stdcall/SystemV/Windows x64. El recorrido va de los fundamentos a las heurísticas con las que se delimitan funciones sin tabla de símbolos.

02. Ficha

EnfoqueGCC (C/C++) + NASM/FLAT
LocalizaciónPila (rbp±) vs secciones (.data/.bss/.rdata)
Clasesthis = rcx/rdi según ABI
Convencionescdecl · stdcall · SystemV · Win x64
HeurísticaPrólogo/epílogo push rbp; mov rbp,rsp
EstadoGuía educativa (20 secciones en el original)
📊
Veredicto

Material de estudio documentado; los 20 apartados del original se comprimen aquí a la idea clave. No es un hallazgo: es la base de conocimiento sobre la que corren las herramientas propias.