Attesor: KI-gestützte Reverse-Engineering von Rosetta 2 für Linux-VM

Attesor ist ein GitHub-Repository, das ein Reverse-Engineering-Projekt zu Apples Rosetta-2-Binärübersetzungssystem enthält. Das Projekt zielt darauf ab, zu verstehen und zu dokumentieren, wie Rosetta 2 x86_64-Anwendungen auf ARM64-Apple-Silicon-Hardware ausführt, mit potenziellen Auswirkungen auf die Linux-Virtualisierung.
Projekthintergrund
Das Projekt dokumentiert Apples Architekturübergänge: 1994 (Motorola 68000 zu PowerPC), 2006 (PowerPC zu Intel x86_64) und 2020 (Intel x86_64 zu Apple Silicon ARM64). Rosetta 2 ist Apples dritte Generation der Binärübersetzungslösung, nach dem ursprünglichen Rosetta (2006-2011), das PowerPC-Anwendungen auf Intel-Macs ermöglichte.
Rosetta-2-Architektur
Laut den Quellenmaterialien fungiert Rosetta 2 als Übersetzungsschicht zwischen x86_64-Benutzeranwendungen und dem ARM64-macOS-Kernel. Die Architektur umfasst:
- Übersetzer (AOT/JIT): Handhabt sowohl Ahead-of-Time- als auch Just-in-Time-Übersetzung
- Laufzeitbibliothek: Stellt Laufzeit-Unterstützungsfunktionen bereit
- Systemaufruf-Übersetzung: Konvertiert x86_64-Systemaufrufe in ARM64-Äquivalente
Schlüsseltechnologien
- Ahead-of-Time (AOT)-Übersetzung: Übersetzt x86_64-Binärdateien zur Installationszeit in ARM64 und speichert übersetzten Code in einem Cache
- Just-in-Time (JIT)-Übersetzung: Übersetzt Codeblöcke bei Bedarf während der Ausführung und behandelt dynamisch geladenen Code
- Befehlssatz-Übersetzung: Ordnet x86_64-ARM64-Befehle, SSE/AVX- an NEON-Vektorbefehle und x86_64-Flags an ARM64-Bedingungscodes zu
- Systemaufruf-Übersetzung: Verwaltet unterschiedliche Aufrufkonventionen und Registerzustände über Systemaufrufgrenzen hinweg
Implementierungsdetails
Rosetta 2 befindet sich unter /Library/Apple/usr/libexec/oah/ (wobei "oah" für "Old Architecture Hardware" steht) und enthält:
rosetta- Hauptübersetzer-Binärdateirosettad- Rosetta-Daemonlibrosetta.*- Laufzeitbibliotheken
Auf Apple-Silicon-Macs ist Rosetta 2 standardmäßig nicht installiert. Die Installation wird entweder durch die erste Startaufforderung einer Intel-Anwendung oder über die Befehlszeile mit softwareupdate --install-rosetta ausgelöst.
Projektstruktur
Das Repository enthält mehrere Dateien, darunter:
ExportDecomp.javaundexport_decomp.pyfür Export und Dekompilierungrosetta_decomp.cundrosettad_decomp.cfür dekompilierte Komponentenrosetta_function_map.hund verschiedene refaktorierte C-Dateienrosetta.TODO.md, das verbleibende Arbeiten dokumentiert
Das Projekt stellt eine fortlaufende Bemühung dar, die internen Abläufe von Rosetta 2 zu dokumentieren, was die Entwicklung ähnlicher Übersetzungsschichten für Linux-Virtualisierungsumgebungen beeinflussen könnte.
📖 Read the full source: HN AI Agents
👀 Siehe auch

Agent MCP Studio: Bauen Sie Multi-Agent-MCP-Systeme vollständig in einem Browser über WASM
Mit Agent MCP Studio können Sie MCP-Agent-Systeme aus einer einzigen statischen HTML-Datei entwerfen, orchestrieren und exportieren – und das mit WebAssembly, ohne Backend, Docker oder Server.

Claude Code verhindert Störungen zwischen Chrome-Tabs bei mehreren Sitzungen
Ein Entwickler hat drei Hooks (session-start, capture-tab-id, enforce-tab-id) erstellt, die jede Claude-Code-Sitzung an ihren eigenen Chrome-Tab binden. Dadurch wird verhindert, dass Sitzungen während Testläufen und Formularausfüllungen versehentlich auf Tabs anderer Sitzungen zugreifen.

Claude Dispatch Beta: Einrichtungstipps und erste Eindrücke
Ein Entwickler teilt seine Erfahrungen mit der Einrichtung der Dispatch-Beta auf einem Mac Mini und hebt die Notwendigkeit einer konstanten Betriebsbereitschaft, spezifischer Erfolgskriterien und aggressiver Berechtigungen bei aktiviertem Computer Use hervor.

Blitz: Claude Code Tool für App Store-Einreichungen
Blitz ist ein kostenloses Tool, das Claude Code die Möglichkeit gibt, App Store-Einreichungen über MCP-Tool-Aufrufe zu automatisieren. Benutzer können Claude bitten, 'meine App im App Store einzureichen', um Zertifikate, Screenshots und App Store Connect-Formulare zu verwalten.