Índice:
Citar
1.— Preparando el camino
1.1— Introducción a la teoría del desensamblado
1.1.1— ¿Qué podemos decir del desensamblado?
1.1.2— ¿Por qué hay que desensamblar?
1.1.3— ¿Cómo desensamblar?
1.2— Desensamblado de barrido lineal
1.3— Desensamblado recursivo descendiente
2.— La base de IDA PRO
2.1— Instalación de IDA
2.1.1.— Instalación en Windows
2.1.2.— Instalación OS X y Linux
2.2.— Los directorios de IDA
2.3.— Concepción de la pantalla de usuario de IDA
3.1.— Iniciándonos con IDA
3.1.1.— Ejecutar IDA
3.1.2.— Cargar un archivo en IDA
3.1.3.— Utilizar el cargador Binary file
3.2.— Archivos de base de datos de IDA
3.3.— Advertencias del cargador
3.4.— Crear una base de datos IDA
3.4.1.— Identificación del compilador
3.4.2.— Identificación de argumentos de función y variables locales
3.4.3.— Información del tipo de datos
3.5.— Cerrar las bases de datos de IDA
3.6.— Reabrir una base de datos
3.7.— Introducción al escritorio de IDA
3.7.1.— Área de herramientas
3.7.2.— Banda de navegación
3.7.3.— Solapas
3.7.4.— Vista de desensamblado (disassembly view)
3.7.5.— Vista gráfica general (graph overview)
3.7.6.— Ventana de mensajes (message windows)
3.7.7,— Ventanas
3.8.— Comportamiento del escritorio durante el análisis inicial
3.9.— Algunos recursos y trucos del área de trabajo de IDA
4.— Las vistas principales de IDA
4.1.— La ventana de desensamblado
4.1.1.— Vista gráfica de IDA (Graph View)
4.1.2.— Vista de listado IDA
4.1.3.— La ventana Names
4.1.4.— Ventana de mensajes
4.1.5.— La ventana Strings
4.2.— Ventanas secundarias de IDA
4.2.1.— Ventana Hex View
4.2.2.— Ventana Exports
4.2.3.— Ventana Imports
4.2.4.— Ventana Functions
4.2.5.— Ventana Structures
4.2.6.— Ventana Enums
4.3.— Ventanas terciarias de IDA
4.3.1.— Ventana Segments
4.3.2.— Ventana Signatures
4.3.3.— Ventana Type Libraries
4.3.4.— Ventana Function Calls
4.3.5.— Ventana Problems
5.1.— Navegación básica de IDA
5.1.1.— Navegación con doble click
5.1.2.— Saltar a una dirección
5.1.3.— Historial de navegación
5.2.— Estructura de pila (Stack Frame)
5.2.1.— Acuerdos de llamada (Calling Conventions)
5.2.1.2.— Acuerdo de llamada Standard
5.2.1.3.— Acuerdo de llamada para x86 fastcall
5.2.1.4.— Acuerdos de llamada C++
5.2.1.5.— Otros acuerdos de llamada
5.2.2.— Esquema de variable local
5.2.3.— Unos ejemplos de Stack Frame
5.2.4.— Vistas de la pila en IDA
5.3.— Buscar en la base de datos
5.3.1.— Búsqueda de texto
5.3.2.— Búsqueda binaria
6.1.— Nombres y nombramiento
6.1.1.— Parámetros y locales variables
6.1.2.— Ubicaciones con nombre
6.1.3.— Nombres de registro
6.2.— Realizar comentarios en IDA
6.2.1.— Comentarios corrientes
6.2.2.— Comentarios repetitivos
6.2.3.— Comentario de línea anterior y posterior
6.2.4.— Comentarios de función
6.3.— Transformaciones básicas del código
6.3.1.— Opciones de vista de código
6.3.2.— Formato de los operandos en las instrucciones
6.3.3.— Manipular funciones
6.3.3.1.— Crear funciones nuevas
6.3.3.2.— Borrar funciones
6.3.3.3.— Funciones troceadas
6.3.3.4.— Atributos de función
6.3.3.5.— Ajustes del puntero de pila (Stack Pointer)
6.3.4.— Convertir datos a código y viceversa
6.4.— Transformaciones básicas de datos
6.4.1.— Especificar el tamaño de los datos
6.4.2.— Trabajar con cadenas (Strings)
6.4.3.— Especificar Arrays (Conjuntos)
7.0.— Tipos de datos y estructuras de datos (Introducción)
7.1.— Reconocer la estructura de datos que se utiliza
7.1.1.— Acceso a un elemento de un array (conjunto)
7.1.1.1.— Conjuntos distribuidos globalmente
7.1.1.2.— Conjuntos distribuidos en la pila
7.1.1.3.— Conjuntos distribuidos en el Heap (almacenamiento de pila)
7.1.2.— Acceso a un elemento de estructura
7.1.2.1.— Estructuras distribuidas globalmente
7.1.2.2.— Estructuras distribuidas en la pila
7.1.2.3.— Estructuras distribuidas en el heap
7.1.2.4.— Estructuras de conjuntos
7.2.— Crear estructuras en IDA
7.2.1.— Realizar el esquema de una estructura de forma manual
7.2.1.1.— Crear una nueva estructura (Create structure/Union)
7.2.1.2.— Editar los elementos de una estructura
7.2.1.3.— Stack frame, una estructura especial
7.3.— Utilizar estructuras plantilla
7.4.— Importar nuevas estructuras
7.4.1.— Analizar las declaraciones de estructuras C
7.4.2.— Analizar encabezados de archivos C
7.5.— Utilizar estructuras estandarizadas
7.6.— Archivos de IDA con extensión TIL
7.6.1.— Cargar nuevos archivos .til
7.6.2.— Compartir archivos TIL
7.7.— Compendio de ingeniería inversa para C++
7.7.1.— El puntero this
7.7.2.— Funciones virtuales y vtable
7.7.3.— El ciclo vital del objeto
7.7.4.— Deformación de nombres (names)
7.7.5.— Identificación de tipos en tiempo de ejecución
7.7.6.— Relaciones de herencia
8.0.— Referencias cruzadas y gráficos
8.1.— Referencias cruzadas
8.1.1.— Referencias cruzadas de código
8.1.2.— Referencias cruzadas de datos
8.1.3.— Listado de referencias cruzadas
8.1.4.— Llamadas de función
8.2.— Graficado en IDA
8.2.1.— Graficado heredado para IDA
8.2.1.1.— Ordinagramas legacy
8.2.1.2.— Graficado heredado de llamadas
8.2.1.3.— Graficado heredado de referencias cruzadas
8.2.1.4.— Graficados de referencias cruzadas a medida
8.2.2.— Vista gráfica integrada de IDA
9.0.— Las caras de IDA
9.1.— IDA en modo consola
9.1.1.— Características comunes en modo consola
9.1.2.— IDA en la consola Windows
9.2.— Utilizar IDA en modo Batch
9.3.— La IDA GUI en plataformas no Windows
10.1.— Archivos de configuración IDA
10.1.1.— ida.cfg: archivo principal de configuración
10.1.2.— idagui.cfg: configuración de la GUI
10.1.3.— idatui.cfg: Configuración de la consola
10.2.— Opciones de configuración adicionales en IDA
10.2.1.— Colores en IDA
10.2.2.— Personalizar las barras de herramientas de IDA
11.0.— Reconocimiento de librerías utilizando firmas FLIRT
11.1.— Tecnología de identificación y reconocimiento rápido de librería
11.2.— Aplicación de firmas FLIRT
11.3.— Crear archivos de firma FLIRT
11.3.1.— Pasos generales para crear firmas
11.3.2.— Identificar y encontrar las librerías estáticas
11.3.3.— Crear archivos maestros
11.3.4.— Crear archivos de firmas
11.3.5.— Firmas de arranque
12.1.— Aumentar la información de las funciones para IDA
12.1.1.— Archivos IDS
12.1.2.— Crear archivos IDS
12.2.— Aumentar los comentarios predefinidos con loadint
13.1.— El vergonzoso menú “Patch Program”
13.1.1.— Cambiar bytes individualmente en la base de datos
13.1.2.— Cambiar en la base de datos un “Word”
13.1.3.— Utilizar el diálogo Assemble
13.2.— Archivos de salida de IDA y generación de parches
13.2.1.— Generar archivos MAP
13.2.2.— Generar archivos ASM
13.2.3.— Generar archivos INC
13.2.4.— Generar archivos LST
13.2.5.— Generar archivos EXE
13.2.6.— Generar archivos DIF
13.2.7.— Generar archivos HTML
14.0.— Realizar scripts con IDC
14.1.— Ejecución básica de un script
14.2.— El lenguaje IDC
14.2.1.— Variables IDC
14.2.2.— Expresiones IDC
14.2.3.— Declaraciones IDC
14.2.4.— Funciones IDC
14.2.5.— Programas IDC
14.2.6.— Como se tratan los errores en IDC
14.2.7.— Almacenamiento permanente de datos en IDC
14.3.— Asociar scripts IDC con los atajos de teclado
14.4.— Utilizar funciones IDC
14.4.1.— Funciones para leer y modificar datos
14.4.2.— Utilizar funciones interactivas
14.4.3.— Funciones para manipulación de strings
14.4.4.— Funciones de archivo Input/Output
14.4.5,— Manipulación de los “Names” de la base de datos
14.4.6.— Funciones que trabajan con funciones
14.4.7.— Funciones para referencias cruzadas de código
14.4.8.— Funciones para referencias cruzadas de datos
14.4.9.— Funciones para la manipulación de la base de datos
14.4.10.— Funciones de búsqueda en la base de datos
14.4.11.— Componentes de la línea de desensamblado
14.5 Ejemplos de scripts idc
14.5.1.— Enumerar funciones
14.5.2.— Enumerar instrucciones
14.5.3.— Enumerar referencias cruzadas
15.5.3.1.— Enumerar los llamadores de una función
14.5.4.— Enumerar funciones exportadas
14.5.5.— Hallar y etiquetar los argumentos de una función
15.0.— Alineando ideas
15.1.— Introducción al SDK
15.1.1.— Instalación del SDK
15.1.2.— Esquema del SDK
15.1.3.— Configurar un entorno de trabajo
15.2.— Interfaz de programación de IDA
15.2.1.— Conocer los archivos Header
15.2.2.— Netnodes
15.2.2.1.— Crear netnodes
15.2.2.2.— Almacenar datos en netnodes
15.2.2.3.— Eliminar netnodes y datos netnode
15.2.3 Tipos de dato útiles del SDK
15.2.4.— Funciones SDK de uso común
15.2.4.1.— Acceso básico a la base de datos
15.2.4.2.— Funciones de interconexión con el usuario
15.2.4.3.— Manipulación de los nombres (Names) en la base de datos
15.2.4.4.— Manipulación de funciones
15.2.4.5.— Manipulación de estructuras
15.2.4.6.— Manipulación de segmento
15.2.4.7.— Referencias cruzadas de código
15.2.4.8.— Referencias cruzadas de datos
15.2.5,— Técnicas de iteración utilizando IDA API
15.2.5.1.— Enumerar funciones
15.2.5.2.— Enumerar elementos de estructura
15.2.5.3.— Enumerar referencias cruzadas
16.0— Arquitectura de IDA Plug-in
16.1.— Programar un plug-in
16.1.1.— El ciclo vital del plug-in
16.1.2.— Inicialización del plug-in
16.1.3.— Notificación de eventos
16.1.4.— Ejecución de un plug-in
16.2.— Construir nuestros plug-in
16.3.— Instalación de plug-in
16.4.— Configuración de plug-in
16.5.— Extensión con IDC
16.6.— Opciones de diseño para pantalla de usuario del plug-in
16.6.1.— Construir elementos de enlace (pantalla) con el SDK
16.6.1.1.— Utilizar los diálogos de elección (Choose) del SDK
16.6.1.2.— Crear formularios a medida con el SDK
16.6.1.3.— Otras técnicas para generar pantallas de usuario
17.0.— Binary file y módulos de carga
17.1.— Análisis de archivos desconocidos
17.2.— Carga manual de un archivo PE Windows
17.3.— Módulos de carga IDA
17.4.— Programar un cargador IDA
17.4.1.— Cargador para Papanatas
17.4.2.— Construir un módulo de carga IDA
17.4.3.— Un cargador pcap (packet capture) de ida
17.5.— Estrategias para otros cargadores
18.0 – Módulos de procesador de IDA
18.1.— Byte code Python
18.2.— El intérprete Python
18.3.— Programar un módulo procesador
18.3.1.— La estructura processor_t
18.3.2.— Inicialización básica de la estructura LPH
18.3.3.— El analizador
18.3.4.— El emulador
1.1— Introducción a la teoría del desensamblado
1.1.1— ¿Qué podemos decir del desensamblado?
1.1.2— ¿Por qué hay que desensamblar?
1.1.3— ¿Cómo desensamblar?
1.2— Desensamblado de barrido lineal
1.3— Desensamblado recursivo descendiente
2.— La base de IDA PRO
2.1— Instalación de IDA
2.1.1.— Instalación en Windows
2.1.2.— Instalación OS X y Linux
2.2.— Los directorios de IDA
2.3.— Concepción de la pantalla de usuario de IDA
3.1.— Iniciándonos con IDA
3.1.1.— Ejecutar IDA
3.1.2.— Cargar un archivo en IDA
3.1.3.— Utilizar el cargador Binary file
3.2.— Archivos de base de datos de IDA
3.3.— Advertencias del cargador
3.4.— Crear una base de datos IDA
3.4.1.— Identificación del compilador
3.4.2.— Identificación de argumentos de función y variables locales
3.4.3.— Información del tipo de datos
3.5.— Cerrar las bases de datos de IDA
3.6.— Reabrir una base de datos
3.7.— Introducción al escritorio de IDA
3.7.1.— Área de herramientas
3.7.2.— Banda de navegación
3.7.3.— Solapas
3.7.4.— Vista de desensamblado (disassembly view)
3.7.5.— Vista gráfica general (graph overview)
3.7.6.— Ventana de mensajes (message windows)
3.7.7,— Ventanas
3.8.— Comportamiento del escritorio durante el análisis inicial
3.9.— Algunos recursos y trucos del área de trabajo de IDA
4.— Las vistas principales de IDA
4.1.— La ventana de desensamblado
4.1.1.— Vista gráfica de IDA (Graph View)
4.1.2.— Vista de listado IDA
4.1.3.— La ventana Names
4.1.4.— Ventana de mensajes
4.1.5.— La ventana Strings
4.2.— Ventanas secundarias de IDA
4.2.1.— Ventana Hex View
4.2.2.— Ventana Exports
4.2.3.— Ventana Imports
4.2.4.— Ventana Functions
4.2.5.— Ventana Structures
4.2.6.— Ventana Enums
4.3.— Ventanas terciarias de IDA
4.3.1.— Ventana Segments
4.3.2.— Ventana Signatures
4.3.3.— Ventana Type Libraries
4.3.4.— Ventana Function Calls
4.3.5.— Ventana Problems
5.1.— Navegación básica de IDA
5.1.1.— Navegación con doble click
5.1.2.— Saltar a una dirección
5.1.3.— Historial de navegación
5.2.— Estructura de pila (Stack Frame)
5.2.1.— Acuerdos de llamada (Calling Conventions)
5.2.1.2.— Acuerdo de llamada Standard
5.2.1.3.— Acuerdo de llamada para x86 fastcall
5.2.1.4.— Acuerdos de llamada C++
5.2.1.5.— Otros acuerdos de llamada
5.2.2.— Esquema de variable local
5.2.3.— Unos ejemplos de Stack Frame
5.2.4.— Vistas de la pila en IDA
5.3.— Buscar en la base de datos
5.3.1.— Búsqueda de texto
5.3.2.— Búsqueda binaria
6.1.— Nombres y nombramiento
6.1.1.— Parámetros y locales variables
6.1.2.— Ubicaciones con nombre
6.1.3.— Nombres de registro
6.2.— Realizar comentarios en IDA
6.2.1.— Comentarios corrientes
6.2.2.— Comentarios repetitivos
6.2.3.— Comentario de línea anterior y posterior
6.2.4.— Comentarios de función
6.3.— Transformaciones básicas del código
6.3.1.— Opciones de vista de código
6.3.2.— Formato de los operandos en las instrucciones
6.3.3.— Manipular funciones
6.3.3.1.— Crear funciones nuevas
6.3.3.2.— Borrar funciones
6.3.3.3.— Funciones troceadas
6.3.3.4.— Atributos de función
6.3.3.5.— Ajustes del puntero de pila (Stack Pointer)
6.3.4.— Convertir datos a código y viceversa
6.4.— Transformaciones básicas de datos
6.4.1.— Especificar el tamaño de los datos
6.4.2.— Trabajar con cadenas (Strings)
6.4.3.— Especificar Arrays (Conjuntos)
7.0.— Tipos de datos y estructuras de datos (Introducción)
7.1.— Reconocer la estructura de datos que se utiliza
7.1.1.— Acceso a un elemento de un array (conjunto)
7.1.1.1.— Conjuntos distribuidos globalmente
7.1.1.2.— Conjuntos distribuidos en la pila
7.1.1.3.— Conjuntos distribuidos en el Heap (almacenamiento de pila)
7.1.2.— Acceso a un elemento de estructura
7.1.2.1.— Estructuras distribuidas globalmente
7.1.2.2.— Estructuras distribuidas en la pila
7.1.2.3.— Estructuras distribuidas en el heap
7.1.2.4.— Estructuras de conjuntos
7.2.— Crear estructuras en IDA
7.2.1.— Realizar el esquema de una estructura de forma manual
7.2.1.1.— Crear una nueva estructura (Create structure/Union)
7.2.1.2.— Editar los elementos de una estructura
7.2.1.3.— Stack frame, una estructura especial
7.3.— Utilizar estructuras plantilla
7.4.— Importar nuevas estructuras
7.4.1.— Analizar las declaraciones de estructuras C
7.4.2.— Analizar encabezados de archivos C
7.5.— Utilizar estructuras estandarizadas
7.6.— Archivos de IDA con extensión TIL
7.6.1.— Cargar nuevos archivos .til
7.6.2.— Compartir archivos TIL
7.7.— Compendio de ingeniería inversa para C++
7.7.1.— El puntero this
7.7.2.— Funciones virtuales y vtable
7.7.3.— El ciclo vital del objeto
7.7.4.— Deformación de nombres (names)
7.7.5.— Identificación de tipos en tiempo de ejecución
7.7.6.— Relaciones de herencia
8.0.— Referencias cruzadas y gráficos
8.1.— Referencias cruzadas
8.1.1.— Referencias cruzadas de código
8.1.2.— Referencias cruzadas de datos
8.1.3.— Listado de referencias cruzadas
8.1.4.— Llamadas de función
8.2.— Graficado en IDA
8.2.1.— Graficado heredado para IDA
8.2.1.1.— Ordinagramas legacy
8.2.1.2.— Graficado heredado de llamadas
8.2.1.3.— Graficado heredado de referencias cruzadas
8.2.1.4.— Graficados de referencias cruzadas a medida
8.2.2.— Vista gráfica integrada de IDA
9.0.— Las caras de IDA
9.1.— IDA en modo consola
9.1.1.— Características comunes en modo consola
9.1.2.— IDA en la consola Windows
9.2.— Utilizar IDA en modo Batch
9.3.— La IDA GUI en plataformas no Windows
10.1.— Archivos de configuración IDA
10.1.1.— ida.cfg: archivo principal de configuración
10.1.2.— idagui.cfg: configuración de la GUI
10.1.3.— idatui.cfg: Configuración de la consola
10.2.— Opciones de configuración adicionales en IDA
10.2.1.— Colores en IDA
10.2.2.— Personalizar las barras de herramientas de IDA
11.0.— Reconocimiento de librerías utilizando firmas FLIRT
11.1.— Tecnología de identificación y reconocimiento rápido de librería
11.2.— Aplicación de firmas FLIRT
11.3.— Crear archivos de firma FLIRT
11.3.1.— Pasos generales para crear firmas
11.3.2.— Identificar y encontrar las librerías estáticas
11.3.3.— Crear archivos maestros
11.3.4.— Crear archivos de firmas
11.3.5.— Firmas de arranque
12.1.— Aumentar la información de las funciones para IDA
12.1.1.— Archivos IDS
12.1.2.— Crear archivos IDS
12.2.— Aumentar los comentarios predefinidos con loadint
13.1.— El vergonzoso menú “Patch Program”
13.1.1.— Cambiar bytes individualmente en la base de datos
13.1.2.— Cambiar en la base de datos un “Word”
13.1.3.— Utilizar el diálogo Assemble
13.2.— Archivos de salida de IDA y generación de parches
13.2.1.— Generar archivos MAP
13.2.2.— Generar archivos ASM
13.2.3.— Generar archivos INC
13.2.4.— Generar archivos LST
13.2.5.— Generar archivos EXE
13.2.6.— Generar archivos DIF
13.2.7.— Generar archivos HTML
14.0.— Realizar scripts con IDC
14.1.— Ejecución básica de un script
14.2.— El lenguaje IDC
14.2.1.— Variables IDC
14.2.2.— Expresiones IDC
14.2.3.— Declaraciones IDC
14.2.4.— Funciones IDC
14.2.5.— Programas IDC
14.2.6.— Como se tratan los errores en IDC
14.2.7.— Almacenamiento permanente de datos en IDC
14.3.— Asociar scripts IDC con los atajos de teclado
14.4.— Utilizar funciones IDC
14.4.1.— Funciones para leer y modificar datos
14.4.2.— Utilizar funciones interactivas
14.4.3.— Funciones para manipulación de strings
14.4.4.— Funciones de archivo Input/Output
14.4.5,— Manipulación de los “Names” de la base de datos
14.4.6.— Funciones que trabajan con funciones
14.4.7.— Funciones para referencias cruzadas de código
14.4.8.— Funciones para referencias cruzadas de datos
14.4.9.— Funciones para la manipulación de la base de datos
14.4.10.— Funciones de búsqueda en la base de datos
14.4.11.— Componentes de la línea de desensamblado
14.5 Ejemplos de scripts idc
14.5.1.— Enumerar funciones
14.5.2.— Enumerar instrucciones
14.5.3.— Enumerar referencias cruzadas
15.5.3.1.— Enumerar los llamadores de una función
14.5.4.— Enumerar funciones exportadas
14.5.5.— Hallar y etiquetar los argumentos de una función
15.0.— Alineando ideas
15.1.— Introducción al SDK
15.1.1.— Instalación del SDK
15.1.2.— Esquema del SDK
15.1.3.— Configurar un entorno de trabajo
15.2.— Interfaz de programación de IDA
15.2.1.— Conocer los archivos Header
15.2.2.— Netnodes
15.2.2.1.— Crear netnodes
15.2.2.2.— Almacenar datos en netnodes
15.2.2.3.— Eliminar netnodes y datos netnode
15.2.3 Tipos de dato útiles del SDK
15.2.4.— Funciones SDK de uso común
15.2.4.1.— Acceso básico a la base de datos
15.2.4.2.— Funciones de interconexión con el usuario
15.2.4.3.— Manipulación de los nombres (Names) en la base de datos
15.2.4.4.— Manipulación de funciones
15.2.4.5.— Manipulación de estructuras
15.2.4.6.— Manipulación de segmento
15.2.4.7.— Referencias cruzadas de código
15.2.4.8.— Referencias cruzadas de datos
15.2.5,— Técnicas de iteración utilizando IDA API
15.2.5.1.— Enumerar funciones
15.2.5.2.— Enumerar elementos de estructura
15.2.5.3.— Enumerar referencias cruzadas
16.0— Arquitectura de IDA Plug-in
16.1.— Programar un plug-in
16.1.1.— El ciclo vital del plug-in
16.1.2.— Inicialización del plug-in
16.1.3.— Notificación de eventos
16.1.4.— Ejecución de un plug-in
16.2.— Construir nuestros plug-in
16.3.— Instalación de plug-in
16.4.— Configuración de plug-in
16.5.— Extensión con IDC
16.6.— Opciones de diseño para pantalla de usuario del plug-in
16.6.1.— Construir elementos de enlace (pantalla) con el SDK
16.6.1.1.— Utilizar los diálogos de elección (Choose) del SDK
16.6.1.2.— Crear formularios a medida con el SDK
16.6.1.3.— Otras técnicas para generar pantallas de usuario
17.0.— Binary file y módulos de carga
17.1.— Análisis de archivos desconocidos
17.2.— Carga manual de un archivo PE Windows
17.3.— Módulos de carga IDA
17.4.— Programar un cargador IDA
17.4.1.— Cargador para Papanatas
17.4.2.— Construir un módulo de carga IDA
17.4.3.— Un cargador pcap (packet capture) de ida
17.5.— Estrategias para otros cargadores
18.0 – Módulos de procesador de IDA
18.1.— Byte code Python
18.2.— El intérprete Python
18.3.— Programar un módulo procesador
18.3.1.— La estructura processor_t
18.3.2.— Inicialización básica de la estructura LPH
18.3.3.— El analizador
18.3.4.— El emulador
Link de descarga (Indice + tutoriales todo en un solo .PDF), incluye archivo de ejemplo utilizado en el tutorial y una referencia sobre la creación de plugins en C/C++:
http://www.mediafire.com/download/iu66f7w8lw7bm9g/IDA_de_cabo_a_rabo_por_Bigundill%40_recopilado_por_UND3R.rar
Espero que les sea de ayuda, saludos.
PD: A ver si alguien se anima a publicarlos en CLS, perdí mi correo electrónico.