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

Création de Drivesidekick : Une application de conduite avec Claude Code
Les développeurs utilisent Claude Code pour créer des applications mobiles sans expertise en développement front-end. Un développeur backend a utilisé Claude Code pour créer Drivesidekick, une application de leçons de conduite utilisant React Native/Expo.

Agent d'IA auto-améliorant plafonné à cause d'une lourdeur procédurale, résolu en réduisant 60% de la configuration.
Un agent IA auto-améliorant d'un développeur a atteint un plateau de performance alors que l'encombrement des processus s'accumulait, le pipeline d'écriture atteignant 10 étapes et la recherche nocturne passant plus de contexte à charger ses instructions qu'à lire des articles. La solution a consisté à réduire d'environ 60 % la configuration racine, à diminuer le pipeline d'écriture de 10 à 5 étapes et à restructurer le cycle de rêve.

Actualité d'OpenClaw : 100 $ brûlés pour la déduplication sport + tech et corrections d'hallucinations
Un développeur a dépensé ~100 $ pour construire un assistant d'actualités personnelles avec OpenClaw pour les sports et la tech/AI. Problèmes clés : hallucinations (rumeurs traitées comme des faits, histoires incorrectes fusionnées), déduplication sur 10+ sources, fraîcheur vs ressortie de vieilles histoires, et coût des tokens. Des invites plus strictes, la mise en cache, la déduplication, le classement, la vérification et la logique de différences ont amélioré les résultats, mais le coût est devenu prohibitif.

Le développeur de jeu utilise OpenClaw pour la collecte automatisée de retours et la refactorisation du code.
Un développeur de jeux utilise OpenClaw en tant que service d'arrière-plan sur un MacBook pour gérer deux projets : Heretical (un jeu Steam) et Duskland (un projet TypeScript). Le système utilise les modèles Claude via Discord et Telegram, avec des fichiers de mémoire locaux en Markdown.