Attesor: Ingeniería Inversa con IA de Rosetta 2 para Máquinas Virtuales Linux

Attesor es un repositorio de GitHub que contiene un proyecto de ingeniería inversa centrado en el sistema de traducción binaria Rosetta 2 de Apple. El proyecto tiene como objetivo comprender y documentar cómo Rosetta 2 permite que las aplicaciones x86_64 se ejecuten en hardware Apple Silicon ARM64, con posibles implicaciones para la virtualización en Linux.
Antecedentes del Proyecto
El proyecto documenta las transiciones de arquitectura de Apple: 1994 (de Motorola 68000 a PowerPC), 2006 (de PowerPC a Intel x86_64) y 2020 (de Intel x86_64 a Apple Silicon ARM64). Rosetta 2 es la solución de traducción binaria de tercera generación de Apple, que sigue a la Rosetta original (2006-2011) que permitía ejecutar aplicaciones PowerPC en Macs con Intel.
Arquitectura de Rosetta 2
Según el material fuente, Rosetta 2 opera como una capa de traducción entre las aplicaciones de usuario x86_64 y el kernel ARM64 de macOS. La arquitectura incluye:
- Traductor (AOT/JIT): Maneja tanto la traducción anticipada (ahead-of-time) como la justo a tiempo (just-in-time)
- Biblioteca de Tiempo de Ejecución: Proporciona funciones de soporte en tiempo de ejecución
- Traducción de Llamadas al Sistema: Convierte las llamadas al sistema (syscalls) de x86_64 a sus equivalentes en ARM64
Tecnologías Clave
- Traducción Anticipada (AOT): Traduce los binarios x86_64 a ARM64 en el momento de la instalación, almacenando el código traducido en una caché
- Traducción Justo a Tiempo (JIT): Traduce bloques de código bajo demanda durante la ejecución, manejando código cargado dinámicamente
- Traducción del Conjunto de Instrucciones: Mapea instrucciones x86_64 a ARM64, instrucciones vectoriales SSE/AVX a NEON, y banderas (flags) x86_64 a códigos de condición ARM64
- Traducción de Llamadas al Sistema: Gestiona diferentes convenciones de llamada y estado de registros a través de los límites de las llamadas al sistema
Detalles de Implementación
Rosetta 2 se encuentra en /Library/Apple/usr/libexec/oah/ (donde "oah" significa "Old Architecture Hardware"), y contiene:
rosetta- Binario principal del traductorrosettad- Demonio de Rosettalibrosetta.*- Bibliotecas de tiempo de ejecución
En las Mac con Apple Silicon, Rosetta 2 no está instalado por defecto. La instalación se activa ya sea por la primera solicitud de lanzamiento de una aplicación Intel o mediante la línea de comandos con softwareupdate --install-rosetta.
Estructura del Proyecto
El repositorio contiene múltiples archivos, incluyendo:
ExportDecomp.javayexport_decomp.pypara exportación y descompilaciónrosetta_decomp.cyrosettad_decomp.cpara componentes descompiladosrosetta_function_map.hy varios archivos C refactorizadosrosetta.TODO.mdque documenta el trabajo pendiente
El proyecto representa un esfuerzo continuo para documentar los aspectos internos de Rosetta 2, lo que podría informar el desarrollo de capas de traducción similares para entornos de virtualización Linux.
📖 Read the full source: HN AI Agents
👀 Ver también

Meta Ads MCP OAuth funciona pero la mayoría de las cuentas publicitarias aún no están habilitadas
El flujo OAuth de Meta Ads MCP funciona y carga 29 herramientas, pero ads_get_ad_accounts devuelve is_ads_mcp_enabled: false con un mensaje de que la función se está implementando gradualmente.

Tabla de clasificación de modelos votada por la comunidad para OpenClaw lanzada.
Un nuevo ranking votado por la comunidad para modelos compatibles con OpenClaw ya está disponible, con Opus 4.5 actualmente a la cabeza.

HomeButler: Gestión de laboratorio doméstico sin tokens para agentes OpenClaw
HomeButler es un único binario de Go que permite a los agentes OpenClaw gestionar la infraestructura del homelab sin claves API ni tokens. Se ejecuta localmente y mantiene todas las operaciones en tu red.

Libretto: Generación Determinista de Automatización de Navegadores para Agentes de Codificación con IA
Libretto es un kit de herramientas Skill+CLI que permite a los agentes de codificación con IA generar scripts deterministas de automatización de navegadores como código real, alejándose de los agentes de IA en tiempo de ejecución. Combina la automatización de interfaz de usuario de Playwright con solicitudes directas de red/API para mayor confiabilidad e incluye modos de depuración paso a paso y de solo lectura.