Saltar al contenido
Aback Tools Logo

Analizador de class-dump y protocolos de iOS

Pega código de cabecera Objective-C o la salida de class-dump para analizar interfaces de clase, cadenas de herencia, protocolos (con métodos @required y @optional), categorías, firmas de métodos y declaraciones de propiedades. El analizador visualiza toda la superficie de API del código de una aplicación iOS con vistas de detalle expandibles, mapeo de cadenas de herencia y filtrado por pestañas según el tipo de declaración. Todo el procesamiento es local y privado.

iOS Class-Dump / Protocol Analyzer
Paste Objective-C header code or class-dump output to analyze class interfaces, protocols, categories, method signatures, and property declarations. Visualize inheritance chains, protocol conformity, and the complete API surface of iOS application code.
Parsing is automatic
Examples:

Paste Objective-C header code above to analyze class interfaces, protocols, and categories. The parser extracts inheritance chains, method signatures, property declarations, and protocol conformity. Try loading an example to see how it works!

Características

  • Análisis completo de cabeceras ObjC: analiza todo el espectro de declaraciones Objective-C: bloques @interface con herencia (:), conformidad de protocolos (<...>), @protocol con secciones @required y @optional, categorías (@interface NombreDeClase (Categoría)), declaraciones @property con atributos (nonatomic, strong, copy, readonly), métodos de instancia (-) y de clase (+) y variables de instancia. Gestiona firmas de tipos complejas, incluidas blocks, genéricos (NSArray<NSString *>) y tipos calificados por protocolo.
  • Visualización de cadenas de herencia y protocolos: construye automáticamente cadenas de herencia mostrando la jerarquía de clases completa a partir de las interfaces analizadas. Cada clase muestra su superclase y los protocolos adoptados con insignias clicables. Las dependencias de protocolos se muestran con referencias a protocolos padre. La vista de herencia facilita entender la jerarquía de clases de cualquier framework, biblioteca o base de código de aplicación iOS.
  • Vistas de detalle de firmas de métodos y propiedades: expande cualquier interfaz de clase para ver toda su superficie de API: propiedades con atributos y tipos, métodos de instancia con tipos de retorno y firmas de parámetros, métodos de clase (métodos de fábrica, singletons) y variables de instancia. Los protocolos muestran métodos @required frente a @optional con el mismo nivel de detalle. Las categorías muestran sus métodos de extensión junto al nombre de la clase original.
  • 100 % local en el navegador y privado: todo el análisis se ejecuta íntegramente en tu navegador. El código de cabecera Objective-C que pegas, todas las interfaces, protocolos, categorías, firmas de métodos y declaraciones de propiedades analizadas nunca se suben a ningún servidor. Sin llamadas a API, sin recopilación de datos, sin rastreo. Completamente seguro para analizar código iOS propietario, bibliotecas de terceros o cabeceras de aplicaciones confidenciales.

Casos de uso

  • Ingeniería inversa y análisis de apps iOS: analiza cabeceras de aplicaciones iOS extraídas con class-dump u otras herramientas de análisis de Mach-O. Entiende la jerarquía de clases completa de cualquier app iOS, incluidos frameworks privados, SDK de terceros y el binario principal de la aplicación. Identifica todas las clases, sus superclases, los protocolos que adoptan, los métodos que implementan y las propiedades que exponen.
  • Investigación y documentación de API privadas: explora cabeceras de frameworks privados de iOS/macOS para descubrir clases, métodos y propiedades no documentados. El analizador ayuda a los investigadores a entender la estructura de frameworks privados como SpringBoardServices, MobileCoreServices y GraphicsServices analizando la salida de class-dump y presentando la superficie de API en un formato limpio y navegable.
  • Planificación de integración de SDK y bibliotecas: al integrar SDK o bibliotecas iOS de terceros, pega los archivos de cabecera en el analizador para entender rápidamente la superficie de API. Consulta la jerarquía de herencia, las adopciones de protocolos y las listas completas de métodos/propiedades de un vistazo. Compara clases similares entre distintas versiones de SDK para identificar cambios en la API.
  • Desarrollo de tweaks de jailbreak y Theos: los desarrolladores de jailbreak usan class-dump extensamente para entender las clases que necesitan enganchar para sus tweaks. El analizador facilita explorar las declaraciones de interfaz, encontrar los métodos adecuados para hacer swizzling y entender los tipos de propiedades para engancharlas con Theos o Cydia Substrate. Esencial para la ingeniería inversa de iOS con presupuesto ajustado.
  • Aprendizaje del runtime y los patrones de Objective-C: los estudiantes de informática y desarrolladores iOS usan el analizador para aprender patrones del runtime de Objective-C. Comprueba cómo Apple diseña jerarquías de clases con programación orientada a protocolos, cómo se declaran los patrones de delegación mediante protocolos formales y cómo las categorías extienden clases sin crear subclases.
  • Descubrimiento de estructura de clases ofuscadas: al analizar aplicaciones iOS ofuscadas, la salida de class-dump revela la estructura de clases incluso cuando los nombres de los símbolos están alterados. El analizador ayuda a identificar las clases principales, entender la arquitectura pese a la ofuscación y trazar el grafo de objetos de la aplicación a partir de la información estructural restante.

¿Qué es class-dump y por qué es importante?

class-dump es una herramienta de línea de comandos que examina el segmento Objective-C de los binarios Mach-O (ejecutables de iOS/macOS) y genera los correspondientes archivos de cabecera Objective-C. Funciona porque Objective-C es un lenguaje altamente introspectivo: los nombres de clases, métodos, propiedades y protocolos se almacenan como cadenas de metadatos en las secciones __objc_classlist, __objc_protolist y __objc_catlist del binario. Nuestro Analizador de class-dump y protocolos de iOS simula esto analizando la salida de class-dump o archivos de cabecera Objective-C en bruto, presentando la jerarquía de clases, las definiciones de protocolos y la superficie de API en una interfaz limpia y navegable. Esto es esencial para entender cómo funcionan internamente los frameworks de iOS, analizar aplicaciones de terceros y hacer ingeniería inversa de software iOS.

Cómo funciona nuestro Analizador de class-dump

  1. Pega o carga los datos de cabecera: pega código de cabecera Objective-C procedente de la salida de class-dump, cabeceras extraídas o tu propio código fuente. El analizador gestiona declaraciones @interface, @protocol y @category con herencia completa y conformidad de protocolos.
  2. Análisis y extracción automáticos: el analizador lee todas las declaraciones y extrae nombres de clases, superclases, protocolos adoptados, métodos (tanto de instancia como de clase), declaraciones de propiedades con atributos y tipos, variables de instancia y métodos de protocolo opcionales frente a requeridos. Las cadenas de herencia se construyen automáticamente.
  3. Explora y analiza los resultados: navega por todas las declaraciones mediante pestañas filtrables (Todos, Clases, Protocolos, Categorías). Expande cualquier clase para ver su superficie de API completa. Consulta las cadenas de herencia, las jerarquías de protocolos y las firmas de métodos con tipos de retorno y nombres de parámetros. Copia el informe de análisis para tu documentación.

Entender los tipos de declaración de Objective-C

  • @interface (interfaz de clase): declara una clase con su superclase (herencia mediante la sintaxis de dos puntos) y los protocolos adoptados (entre corchetes angulares). Contiene variables de instancia entre llaves, declaraciones @property para la API pública y declaraciones de métodos con tipos de retorno y parámetros.
  • @protocol (definición de protocolo): declara un protocolo formal que las clases pueden adoptar. Los métodos marcados como @required deben ser implementados por las clases conformes, mientras que los métodos @optional se pueden implementar de forma selectiva. Los protocolos también pueden declarar requisitos @property.
  • @interface (categoría): extiende una clase existente con métodos adicionales sin crear subclases. Escrita como @interface NombreDeClase (NombreDeCategoría), las categorías pueden añadir métodos y propiedades a cualquier clase, incluidas clases de frameworks cuyo código fuente no tienes.
  • Declaraciones de métodos y propiedades: los métodos de instancia llevan el prefijo -, los métodos de clase llevan +. Las firmas de métodos usan dos puntos para los parámetros con etiquetas descriptivas. Las propiedades usan @property con atributos entre paréntesis (nonatomic, strong, copy, readonly, assign, weak, getter, setter) seguidos del tipo y el nombre.

Privacidad, seguridad y notas de uso

El Analizador de class-dump y protocolos de iOS procesa todos los datos íntegramente en tu navegador con JavaScript. Ningún código de cabecera Objective-C se sube nunca a ningún servidor, se almacena en ninguna base de datos ni se comparte con terceros. No hay límites de tamaño de archivo. La herramienta es totalmente gratuita, sin registro, sin límites de uso y sin nivel premium. Úsala para cualquier propósito (personal, comercial, educativo o de investigación de seguridad) sin coste alguno. El analizador está diseñado con fines educativos y de investigación para ayudar a los desarrolladores a entender la estructura de las aplicaciones iOS y el comportamiento del runtime de Objective-C.

Preguntas frecuentes

class-dump es una herramienta de línea de comandos que genera archivos de cabecera Objective-C a partir de binarios Mach-O (ejecutables .app de iOS/macOS, .dylib, paquetes .framework). Funciona analizando las secciones de metadatos de Objective-C almacenadas en el segmento __DATA del binario: __objc_classlist, __objc_protolist, __objc_catlist y __objc_selrefs. Como Objective-C es un lenguaje con runtime dinámico, todos los nombres de clases, métodos, propiedades y la información de conformidad de protocolos se almacenan como cadenas en el binario. class-dump lee estos metadatos y reconstruye las declaraciones originales @interface, @protocol y @category con sus métodos y propiedades.

No. Este es un analizador basado en el navegador que analiza texto de cabeceras Objective-C: no ejecuta la herramienta class-dump real sobre binarios Mach-O compilados. Para usar esta herramienta, primero debes ejecutar class-dump (o una herramienta similar como Hopper, Ghidra u otool) sobre un binario de iOS/macOS para generar la salida de cabeceras Objective-C y luego pegar esa salida en nuestro analizador. El analizador visualiza y organiza las declaraciones analizadas en una interfaz limpia y navegable.

El analizador analiza tres tipos principales de declaraciones. Bloques @interface ... @end para declaraciones de clase, incluida la herencia (: SuperClase) y la conformidad de protocolos (<Protocolo1, Protocolo2>), con variables de instancia, declaraciones @property y métodos de instancia/clase. Bloques @protocol ... @end para definiciones de protocolo con secciones @required y @optional, declaraciones de métodos y requisitos de @property. Bloques @interface NombreDeClase (NombreDeCategoría) ... @end para categorías que extienden clases existentes.

El analizador construye automáticamente cadenas de herencia siguiendo la declaración de superclase (: SuperClase) de cada @interface. Por ejemplo, si tienes @interface MiViewController : UIViewController, @interface UIViewController : UIResponder y @interface UIResponder : NSObject, el analizador mostrará: MiViewController → UIViewController → UIResponder → NSObject. Esto facilita entender la jerarquía de clases completa.

De forma indirecta. Las clases Swift que heredan de NSObject o usan el atributo @objc son accesibles al runtime de Objective-C y aparecerán en la salida de class-dump con sus firmas compatibles con Objective-C. Sin embargo, las clases Swift puras sin puente Objective-C no aparecerán en la salida de class-dump. Nuestro analizador está diseñado para la sintaxis de cabeceras Objective-C. Para analizar código Swift puro, usa nuestra herramienta Desofuscador de Swift.

Necesitas un dispositivo iOS con jailbreak o un IPA descifrado para ejecutar class-dump. En macOS, instala class-dump con Homebrew (brew install class-dump) y luego ejecuta: class-dump -H /ruta/a/TuBinario -o /directorio/de/salida/. Para binarios de iOS, primero debes descifrar el binario de la App Store con una herramienta como dumpdecrypted o Clutch. Los archivos .h generados se pueden pegar en nuestro analizador para su visualización y navegación.

En los protocolos de Objective-C, los métodos @required deben ser implementados por cualquier clase que adopte el protocolo, mientras que los métodos @optional se pueden implementar de forma selectiva. La directiva @required es la predeterminada. Al analizar la salida de protocolos, el analizador separa los métodos requeridos y opcionales en secciones distintas, dejando claro qué métodos son obligatorios para la conformidad del protocolo y cuáles son extensiones opcionales.

Sí, 100 % gratis, sin registro, sin cuenta y sin límites de uso. Analiza tantas cabeceras Objective-C como necesites, tantas veces como quieras. No hay niveles premium, cargos ocultos ni límites de velocidad. La herramienta se ejecuta íntegramente en tu navegador: tu código nunca sale de tu dispositivo.