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

Der Knowledge Guy: Verwandle dein Bücherregal mit Claude Code Fähigkeiten in einen Tutor
Ein Claude Code Skill, der Ihre PDF-/EPUB-Bücher lokal verarbeitet und es Ihnen ermöglicht, Fragen zu stellen, sich thematisch unterrichten zu lassen oder Spickzettel zu erstellen – alles mit Quellenangaben aus Ihrer Bibliothek.

OpenClaw iOS-App fügt historische Apple Health-Daten-Synchronisation bis zu 18 Monate hinzu
Die neueste Version der OpenClaw iOS-App ermöglicht den Export historischer Apple Health-Daten, sodass Benutzer bis zu 18 Monate Gesundheitsdaten mit ihrem Agent synchronisieren können, um personalisierte Einblicke oder KI-Training zu erhalten.

Ihr Fair-Share-Tool: Berechnen Sie Ihren gerechten Anteil am Unternehmensgewinn
Ein Entwickler hat ein Webtool mit Claude Code und Vercel erstellt, das berechnet, wie hoch Ihr gerechter Anteil am Jahresgewinn Ihres Arbeitgebers wäre, basierend auf SEC 10-K-Einreichungen. Das Tool zeigt konkrete Zahlen wie Apples 747.000 US-Dollar pro Mitarbeiter und NVIDIAs 2,8 Millionen US-Dollar pro Mitarbeiter.

Show HN: WUPHF — Karpathy-artiges LLM-Wiki mit Markdown + Git als Quelle der Wahrheit
WUPHF liefert eine Wiki-Schicht für KI-Agenten mit Markdown + Git zur Persistenz, bleve (BM25) + SQLite für die Suche sowie Entity-Fact-Logs, Wikilinks und einem täglichen Lint-Cron. Läuft lokal, noch ohne Vektor-DB-Abhängigkeit.