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

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
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 traducteurrosettad- Démon Rosettalibrosetta.*- 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.javaetexport_decomp.pypour l'exportation et la décompilationrosetta_decomp.cetrosettad_decomp.cpour les composants décompilésrosetta_function_map.het divers fichiers C refactorisésrosetta.TODO.mddocumentant 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
👀 See Also

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.

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.

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.

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.