Attesor: Обратная разработка на основе ИИ Rosetta 2 для виртуальной машины Linux

Attesor — это репозиторий на GitHub, содержащий проект по реверс-инжинирингу системы бинарной трансляции Apple Rosetta 2. Проект направлен на понимание и документирование того, как Rosetta 2 позволяет приложениям x86_64 работать на оборудовании Apple Silicon с архитектурой ARM64, что может иметь значение для виртуализации в Linux.
История проекта
Проект документирует переходы архитектур Apple: 1994 (с Motorola 68000 на PowerPC), 2006 (с PowerPC на Intel x86_64) и 2020 (с Intel x86_64 на Apple Silicon ARM64). Rosetta 2 — это решение Apple для бинарной трансляции третьего поколения, следующее за оригинальной Rosetta (2006–2011), которая позволяла запускать приложения PowerPC на компьютерах Mac с процессорами Intel.
Архитектура Rosetta 2
Согласно исходным материалам, Rosetta 2 работает как слой трансляции между пользовательскими приложениями x86_64 и ядром macOS на ARM64. Архитектура включает:
- Транслятор (AOT/JIT): Обрабатывает как заблаговременную (AOT), так и динамическую (JIT) трансляцию
- Библиотека времени выполнения: Предоставляет функции поддержки во время выполнения
- Трансляция системных вызовов: Преобразует системные вызовы x86_64 в эквиваленты для ARM64
Ключевые технологии
- Заблаговременная трансляция (AOT): Преобразует бинарные файлы x86_64 в ARM64 во время установки, сохраняя переведённый код в кэше
- Динамическая трансляция (JIT): Преобразует блоки кода по мере необходимости во время выполнения, обрабатывая динамически загружаемый код
- Трансляция набора инструкций: Сопоставляет инструкции x86_64 с ARM64, векторные инструкции SSE/AVX с NEON, а флаги x86_64 — с кодами условий ARM64
- Трансляция системных вызовов: Управляет различными соглашениями о вызовах и состоянием регистров на границах системных вызовов
Детали реализации
Rosetta 2 находится по адресу /Library/Apple/usr/libexec/oah/ (где «oah» означает «Old Architecture Hardware» — оборудование старой архитектуры) и содержит:
rosetta— Основной бинарный файл транслятораrosettad— Демон Rosettalibrosetta.*— Библиотеки времени выполнения
На компьютерах Mac с Apple Silicon Rosetta 2 не установлена по умолчанию. Установка запускается либо при первом запросе на запуск приложения для Intel, либо через командную строку с помощью команды softwareupdate --install-rosetta.
Структура проекта
Репозиторий содержит несколько файлов, включая:
ExportDecomp.javaиexport_decomp.pyдля экспорта и декомпиляцииrosetta_decomp.cиrosettad_decomp.cдля декомпилированных компонентовrosetta_function_map.hи различные рефакторизованные C-файлыrosetta.TODO.md, документирующий оставшуюся работу
Проект представляет собой продолжающееся усилие по документированию внутреннего устройства Rosetta 2, что может помочь в разработке аналогичных слоёв трансляции для сред виртуализации Linux.
📖 Прочитать полный источник: HN AI Agents
👀 Смотрите также

Режим контекста: MCP-сервер, который сжимает выводы инструментов для Claude Code
Контекстный режим — это сервер MCP, который находится между Claude Code и выводами инструментов, обрабатывая их в песочницах и возвращая только сводки. Он сокращает 315 КБ вывода MCP до 5,4 КБ, увеличивая время сессии до замедления с ~30 минут до ~3 часов.

AiPayGen: Маркетплейс AI-агентов с интеграцией MCP для Claude Code
AiPayGen — это маркетплейс с 142 ИИ-агентами в 27 категориях, включая финансы, юриспруденцию, здравоохранение, DevOps, безопасность и маркетинг. Он функционирует как MCP-сервер для прямого использования в Claude Code, позволяя пользователям просматривать, вызывать и управлять агентами с помощью определённых команд.

ClankerRank: Бенчмарк для оценки навыков программирования с помощью ИИ на основе Claude Haiku
Разработчик создал ClankerRank для оценки навыков программирования с помощью ИИ, используя модель Claude Haiku 4.5. Платформа предлагает пользователям одинаковые баги, оценивает результаты с помощью скрытых тестов и выявила явные различия в навыках среди сотен участников.

CC-Canary: Обнаружение регрессий в Claude Code с помощью локального анализа JSONL
CC-Canary читает журналы сессий Claude Code и составляет судебно-медицинский отчет о дрейфе модели, включая соотношение чтения/редактирования, циклы рассуждений, тенденции затрат и автоматически определяемые даты перегиба.