Décompilation assistée par LLM : Évolution des stratégies et des outils

L'article aborde les défis et les stratégies de la décompilation assistée par LLM, notamment avec Claude pour décompiler des jeux Nintendo 64 comme Snowboard Kids 2. Initialement, les progrès reposaient sur une décompilation en une seule étape, faisant passer le code correspondant d'environ 25 % à 58 %. Cependant, les avancées ont ralenti, nécessitant un changement d'approche pour atteindre finalement environ 75 % de fonctions correspondantes.
Une stratégie cruciale a consisté à prioriser les fonctions non correspondantes à traiter, en utilisant d'abord un modèle de régression logistique pour estimer la difficulté en fonction de caractéristiques comme le nombre d'instructions et la complexité du flux de contrôle. Lorsque cette approche a atteint un plateau, l'exploration de la similarité entre fonctions via des embeddings textuels des instructions assembleur s'est avérée fructueuse. Cela impliquait de calculer des fonctions correspondantes similaires pour fournir des références utiles, améliorant ainsi les performances de décompilation de Claude.
Pour calculer la similarité, les embeddings vectoriels ont été discutés, souvent utilisés dans les systèmes RAG pour une récupération rapide. Cependant, pour un projet avec seulement quelques milliers de candidats, un calcul précis de similarité était réalisable. Un score de similarité composite tenant compte des n-grammes normalisés d'instructions, des motifs de flux de contrôle, des décalages d'accès mémoire et des métriques structurelles a d'abord été utilisé, mais plus tard, la méthode plus simple de Coddog, calculant la distance de Levenshtein bornée sur les séquences d'opcodes, s'est avérée tout aussi efficace, réduisant la complexité.
Des outils spécialisés comme gfxdis.f3dex2 et decomp-permuter ont également amélioré les performances de Claude. Plus précisément, l'utilisation de la bibliothèque F3Dex2 a facilité la gestion du microcode du Reality Display Processor (RDP) de la N64, évitant ainsi un reverse engineering personnalisé.
📖 Lire la source complète : HN LLM Tools
👀 See Also

Exécution de l'ordinateur de la Tesla Model 3 sur un bureau avec des pièces de récupération
Un chercheur a réussi à démarrer l'ordinateur d'une Tesla Model 3 sur un bureau en utilisant des pièces provenant de voitures accidentées, nécessitant une alimentation 12V, un écran tactile et des câbles personnalisés. La configuration a révélé un réseau interne avec des serveurs SSH et web accessibles à des adresses IP spécifiques.

Agent IA Gérant une Opération E-commerce Complète : Rapport Interne
Un agent IA gère une activité e-commerce complète, s'occupant de la conception, du codage, du marketing et des opérations. La source fournit une évaluation honnête incluant ce qui ne fonctionne pas.

Construire une Distribution Linux avec Claude IA : Décryptage Pratique pour Développeurs
Un développeur avec 23 ans d'expérience dans la tech a créé NubiferOS, une distribution Linux renforcée en sécurité, en utilisant Claude IA comme équipe de développement entière. Le projet a impliqué 10 à 15 sessions Claude simultanées, générant environ 39 300 lignes de code et 57 500 lignes de documentation, sans aucune ligne de code écrite par un humain.

Agent OpenClaw Automatise le Pipeline d'Actualités IA avec la Curation par LLM
Un agent OpenClaw exécute un pipeline d'actualités IA entièrement automatisé qui scanne 25 flux RSS, 13 subreddits Reddit, Twitter, GitHub et des recherches web, puis utilise Gemini Flash pour la curation éditoriale et Claude Sonnet pour la rédaction. Le système coûte environ 5 $/mois et publie sur un canal Telegram.