Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
attesor — KI-gestütztes Reverse-Engineering von Rosetta (2 für Linux). Haftungsausschluss: Aufgrund der Nutzungsvereinbarung werde ich den Code nicht anfassen. Alles wird von KI erledigt, daher könnte die Implementierung chaotisch sein. | Kitploit
Tools/GitHubGitHub/inokinoki/attesor
Reverse EngineeringHardware-SicherheitBinäranalyseLernen & BildungKI-gestütztes Reverse EngineeringFirmware-Analyse
GitHubinokinoki/attesor

attesor

KI-gestütztes Reverse-Engineering von Rosetta (2 für Linux). Haftungsausschluss: Aufgrund der Nutzungsvereinbarung werde ich den Code nicht anfassen. Alles wird von KI erledigt, daher könnte die Implementierung chaotisch sein.

Repository anzeigen
72320vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Rosetta-2 Reverse-Engineering-Projekt

License: MIT Status

Ein umfassendes Reverse-Engineering-Projekt zum Verständnis und zur Dokumentation von Apples Rosetta 2-Binärübersetzungstechnologie.

Inhaltsverzeichnis

  1. Hintergrund
  2. Was ist Rosetta?
  3. Was ist Rosetta 2?
  4. Wie Apple Rosetta 2 in macOS bereitstellt
  5. Technische Architektur
  6. Dieses Projekt
  7. Dateistruktur
  8. Verwendung
  9. Fortschritt
  10. Referenzen

Hintergrund

Der Architekturwechsel

Im November 2020 kündigte Apple seine ersten Apple-Silicon-Macs an, was einen historischen Übergang von Intel-x86_64-Prozessoren zu den eigenen ARM-basierten M1-Chips markierte. Dies war Apples dritter großer Architekturwechsel:

  1. 1994: Motorola 68000 -> PowerPC
  2. 2006: PowerPC -> Intel x86_64
  3. 2020: Intel x86_64 -> Apple Silicon (ARM64)

Jeder Übergang erforderte eine Binärübersetzungslösung, um vorhandene Software während der Migrationsphase ausführen zu können. Rosetta 2 ist Apples bisher ausgeklügeltstes Binärübersetzungssystem.


Was ist Rosetta?

Rosetta (2006-2011) war Apples erste dynamische Binärübersetzungssoftware, die es PowerPC-Anwendungen ermöglichte, auf Intel-basierten Macs zu laufen.

Hauptmerkmale:

  • Dynamische Übersetzung: Übersetzte PowerPC-Code zur Laufzeit in x86_64
  • OS-Integration: In Mac OS X 10.4 (Tiger) bis 10.6 (Snow Leopard) integriert
  • Transparenter Betrieb: Benutzer starteten PowerPC-Apps normal
  • Leistungsmehraufwand: Typischerweise 20-50 % langsamer als nativer Code

Rosetta wurde in Mac OS X 10.7 (Lion) entfernt, womit der Intel-Übergang abgeschlossen wurde.


Was ist Rosetta 2?

Rosetta 2 ist Apples fortschrittliche dynamische Binärübersetzungstechnologie, die es Anwendungen, die für Intel x86_64 Macs kompiliert wurden, ermöglicht, auf Apple Silicon (ARM64) Macs zu laufen.

Architekturübersicht```

┌─────────────────────────────────────────────────────────────┐ │ User Application (x86_64) │ ├─────────────────────────────────────────────────────────────┤ │ Rosetta 2 Layer │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ Translator │ │ Runtime │ │ System Call │ │ │ │ (AOT/JIT) │ │ Library │ │ Translation │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ macOS Kernel (ARM64) │ ├─────────────────────────────────────────────────────────────┤ │ Apple Silicon Hardware │ └─────────────────────────────────────────────────────────────┘

### Schlüsseltechnologien

1. **Vorausschauende (AOT) Übersetzung**
   - Übersetzt x86_64-Binärdateien zur Installationszeit in ARM64
   - Speichert übersetzten Code in einem Cache für schnellere nachfolgende Starts
   - Reduziert Laufzeit-Overhead im Vergleich zu reiner JIT-Übersetzung

2. **Just-in-Time (JIT) Übersetzung**
   - Übersetzt Codeblöcke bedarfsgesteuert während der Ausführung
   - Behandelt dynamisch geladenen Code und selbstmodifizierenden Code
   - Verwaltet Übersetzungs-Cache für Effizienz

3. **Befehlssatzübersetzung**
   - x86_64 -> ARM64 Befehlszuordnung
   - SSE/AVX -> NEON Vektorbefehlsübersetzung
   - x86_64 Flags -> ARM64 Bedingungscodes

4. **Systemaufrufübersetzung**
   - Übersetzt x86_64 macOS-Systemaufrufe in ARM64-Äquivalente
   - Behandelt unterschiedliche Aufrufkonventionen
   - Verwaltet Registerzustand über Systemaufrufgrenzen hinweg

5. **Laufzeitunterstützung**
   - CPU-Funktionserkennungsemulation
   - Thread-lokale Speicherverwaltung
   - Signal- und Ausnahmebehandlung

---

## Wie Apple Rosetta 2 in macOS bereitstellt

### Installationsort

Rosetta 2 befindet sich unter:```
/Library/Apple/usr/libexec/oah/
├── rosetta        # Main translator binary
├── rosettad       # Rosetta daemon
└── librosetta.*   # Runtime libraries

Das Verzeichnis oah steht für "Old Architecture Hardware" – eine Fortführung aus der PowerPC-Übergangszeit.

Automatische Installation

Auf Apple Silicon Macs ist Rosetta 2 standardmäßig nicht installiert. Es wird auf zwei Arten ausgelöst:

  1. Erste Startaufforderung ``` The "Rosetta" software is not installed on your Mac. Rosetta translates apps from Intel-based Macs for use on Apple Silicon Macs.
  2. Kommandozeilen-Installation ```bash softwareupdate --install-rosetta --agree-to-license

Gelieferte Komponenten

KomponenteBeschreibung
RosettaLinux/rosettaARM64-Binärdatei mit Übersetzungs-Engine
RosettaLinux/rosettadSystem-Daemon zur Verwaltung von Übersetzungsdiensten
debugserver -> /usr/libexec/rosetta/debugserverDebugging-Unterstützung für übersetzte Prozesse
libRosettaRuntimeLaufzeitbibliothek, die während der Übersetzung verlinkt wird
translate_tool -> /usr/libexec/rosetta/translate_toolÜbersetzungswerkzeug zum Erstellen übersetzter Binärdateien

Integration mit macOS

  1. launchd-Integration: Rosetta-Daemon läuft als Systemdienst
  2. Codesignierung: Übersetzte Binärdateien werden automatisch codesigniert
  3. Gatekeeper: Rosetta-übersetzte Apps bestehen Sicherheitsprüfungen
  4. Systemintegritätsschutz: Geschützt vor Modifikation

Technische Architektur

Übersetzungsprozess```

┌──────────────────────────────────────────────────────────────────┐ │ Phase 1: Binary Loading │ │ ─────────────────────────────────────────────────────────────── │ │ 1. Load x86_64 Mach-O binary │ │ 2. Parse segments, sections, symbols │ │ 3. Validate code signatures │ │ 4. Map into translation context │ └──────────────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ Phase 2: AOT Translation │ │ ─────────────────────────────────────────────────────────────── │ │ 1. Disassemble x86_64 code sections │ │ 2. Translate instructions to ARM64 │ │ 3. Apply optimizations │ │ 4. Store in translation cache (~/.oah) │ └──────────────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ Phase 3: Runtime Execution │ │ ─────────────────────────────────────────────────────────────── │ │ 1. Load translated ARM64 code │ │ 2. Set up x86_64 emulation context │ │ 3. Handle JIT translations for dynamic code │ │ 4. Translate syscalls on-the-fly │ └──────────────────────────────────────────────────────────────────┘

### Wichtige Übersetzungsherausforderungen

1. **Registerzuordnung**
   - x86_64 hat 16 GPRs; ARM64 hat 31 GPRs
   - x86_64 Flags-Register -> ARM64 NZCV-Flags
   - RIP (Instruction Pointer) Emulation

2. **Speicherordnung**
   - x86_64: Starke Speicherordnung (TSO)
   - ARM64: Schwache Speicherordnung
   - Erfordert Speicherbarrieren für Korrektheit
Tool herunterladen