Attesor : Rétro-ingénierie assistée par l'IA de Rosetta 2 pour machine virtuelle Linux

✍️ OpenClawRadar📅 Publié: February 24, 2026🔗 Source
Attesor : Rétro-ingénierie assistée par l'IA de Rosetta 2 pour machine virtuelle Linux
Ad

Attesor est un dépôt GitHub contenant un projet de rétro-conception axé sur le système de traduction binaire Rosetta 2 d'Apple. Le projet vise à comprendre et documenter comment Rosetta 2 permet aux applications x86_64 de fonctionner sur le matériel Apple Silicon ARM64, avec des implications potentielles pour la virtualisation Linux.

Contexte du projet

Le projet documente les transitions d'architecture d'Apple : 1994 (Motorola 68000 vers PowerPC), 2006 (PowerPC vers Intel x86_64) et 2020 (Intel x86_64 vers Apple Silicon ARM64). Rosetta 2 est la solution de traduction binaire de troisième génération d'Apple, succédant au Rosetta original (2006-2011) qui permettait aux applications PowerPC de fonctionner sur les Mac Intel.

Architecture de Rosetta 2

Selon le matériel source, Rosetta 2 fonctionne comme une couche de traduction entre les applications utilisateur x86_64 et le noyau macOS ARM64. L'architecture comprend :

  • Traducteur (AOT/JIT) : Gère la traduction à la fois anticipée et juste-à-temps
  • Bibliothèque d'exécution : Fournit des fonctions de support d'exécution
  • Traduction des appels système : Convertit les appels système x86_64 en équivalents ARM64

Technologies clés

  • Traduction anticipée (AOT) : Traduit les binaires x86_64 en ARM64 au moment de l'installation, stockant le code traduit dans un cache
  • Traduction juste-à-temps (JIT) : Traduit les blocs de code à la demande pendant l'exécution, gérant le code chargé dynamiquement
  • Traduction du jeu d'instructions : Mappe les instructions x86_64 vers ARM64, les instructions vectorielles SSE/AVX vers NEON, et les drapeaux x86_64 vers les codes de condition ARM64
  • Traduction des appels système : Gère les différentes conventions d'appel et l'état des registres à travers les limites des appels système
Ad

Détails d'implémentation

Rosetta 2 se trouve à /Library/Apple/usr/libexec/oah/ (où "oah" signifie "Old Architecture Hardware"), contenant :

  • rosetta - Binaire principal du traducteur
  • rosettad - Démon Rosetta
  • librosetta.* - Bibliothèques d'exécution

Sur les Mac Apple Silicon, Rosetta 2 n'est pas installé par défaut. L'installation est déclenchée soit par la première invite de lancement d'une application Intel, soit via la ligne de commande avec softwareupdate --install-rosetta.

Structure du projet

Le dépôt contient plusieurs fichiers incluant :

  • ExportDecomp.java et export_decomp.py pour l'exportation et la décompilation
  • rosetta_decomp.c et rosettad_decomp.c pour les composants décompilés
  • rosetta_function_map.h et divers fichiers C refactorisés
  • rosetta.TODO.md documentant le travail restant

Le projet représente un effort continu pour documenter les détails internes de Rosetta 2, ce qui pourrait éclairer le développement de couches de traduction similaires pour les environnements de virtualisation Linux.

📖 Lire la source complète : HN AI Agents

Ad

👀 See Also

audio-analyzer-rs : Un serveur MCP pour l'analyse audio avec Claude
Tools

audio-analyzer-rs : Un serveur MCP pour l'analyse audio avec Claude

Un développeur a créé audio-analyzer-rs, un serveur MCP en Rust qui donne à Claude un accès direct à l'analyse de fichiers audio, incluant les mesures spectrales, harmoniques, rythmiques, de volume LUFS (EBU R128) et de plage dynamique. L'outil est efficace en tokens, Claude commençant à basse résolution et zoomant sur de petits segments si nécessaire.

OpenClawRadar
Quiver : Une interface graphique pour gérer et synchroniser les compétences en code Claude
Tools

Quiver : Une interface graphique pour gérer et synchroniser les compétences en code Claude

Quiver est un outil GUI gratuit et open source qui fournit une interface web pour gérer les compétences Claude Code, permettant aux utilisateurs de parcourir les compétences locales et les plugins du marketplace, d'éditer les fichiers SKILL.md, de synchroniser via Git et d'installer des compétences sans utiliser le terminal.

OpenClawRadar
HomeButler : Gestion de laboratoire domestique sans jeton pour les agents OpenClaw
Tools

HomeButler : Gestion de laboratoire domestique sans jeton pour les agents OpenClaw

HomeButler est un binaire Go unique qui permet aux agents OpenClaw de gérer l'infrastructure du homelab sans clés API ni jetons. Il s'exécute localement et maintient toutes les opérations sur votre réseau.

OpenClawRadar
LLMSpend : Traqueur de coûts open-source pour les SDKs Anthropic et OpenAI
Tools

LLMSpend : Traqueur de coûts open-source pour les SDKs Anthropic et OpenAI

LLMSpend est une bibliothèque Python qui ajoute le suivi des coûts aux appels SDK d'Anthropic et d'OpenAI avec seulement deux lignes de code. Il offre un stockage SQLite local, des rapports en ligne de commande et un tableau de bord web sans envoyer de données à l'extérieur.

OpenClawRadar