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

✍️ OpenClawRadar📅 Veröffentlicht: 24. Februar 2026🔗 Source
Attesor: KI-gestützte Reverse-Engineering von Rosetta 2 für Linux-VM
Ad

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
Ad

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ärdatei
  • rosettad - Rosetta-Daemon
  • librosetta.* - 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.java und export_decomp.py für Export und Dekompilierung
  • rosetta_decomp.c und rosettad_decomp.c für dekompilierte Komponenten
  • rosetta_function_map.h und verschiedene refaktorierte C-Dateien
  • rosetta.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

Ad

👀 Siehe auch