Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
LLM4Decompile — Rétro-ingénierie : décompilation de code binaire avec de grands modèles de langage | Kitploit
Outils/GitHubGitHub/albertan017/llm4decompile
Rétro-ingénierieAnalyse de BinairesApprentissage AutomatiqueRétro-Ingénierie Assistée par IA
GitHubalbertan017/llm4decompile

LLM4Decompile

Rétro-ingénierie : décompilation de code binaire avec de grands modèles de langage

Voir le dépôt
7.0k54532il y a 7 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

LLM4Decompile

📊 Résultats | 🤗 Modèles | 🚀 Démarrage rapide | 📚 HumanEval-Decompile | 📎 Citation | 📝 Article | 🖥️ Colab | ▶️ YouTube

Rétro-ingénierie : décompilation de code binaire avec de grands modèles de langage

GitHub Tread

Mises à jour

  • [2025-10-04] : publication de SK²Decompile : décompilation binaire en deux phases par LLM, du squelette à la peau. Phase 1 - Récupération de la structure (squelette) : transforme le code binaire/pseudo-code en représentations intermédiaires obfusquées 🤗 Lien HF. Phase 2 - Nommage des identifiants (peau) : génère un code source lisible par l'humain avec des identifiants significatifs 🤗 Lien HF.
  • [2025-05-20] : publication de decompile-bench, qui contient deux millions de paires de fonctions binaire-source pour l'entraînement et 70 000 paires de fonctions pour l'évaluation. Veuillez vous référer au dossier decompile-bench pour plus de détails.
  • [2024-10-17] : publication de decompile-ghidra-100k, un sous-ensemble de 100 000 échantillons d'entraînement (25 000 par niveau d'optimisation). Nous fournissons un script d'entraînement qui s'exécute en environ 3,5 heures sur un seul GPU A100 40G. Il atteint un taux de ré-exécutabilité de 0,26, pour un coût total inférieur à 20 $, afin de répliquer rapidement LLM4Decompile.
  • [2024-09-26] : mise à jour d'un notebook Colab pour démontrer l'utilisation du modèle LLM4Decompile, y compris des exemples pour les modèles LLM4Decompile-End et LLM4Decompile-Ref.
  • [2024-09-23] : publication de LLM4Decompile-9B-v2, affiné à partir de Yi-Coder-9B, qui a atteint un taux de ré-exécutabilité de 0,6494 sur le benchmark Decompile.
  • [2024-06-19] : publication de la série V2 (LLM4Decompile-Ref). Les modèles V2 (1.3B-22B), construits sur Ghidra, sont entraînés sur 2 milliards de jetons pour affiner le pseudo-code décompilé par Ghidra. La version 22B-V2 surpasse la 6.7B-V1.5 de 40,1 % supplémentaires. Veuillez consulter le dossier ghidra pour plus de détails.
  • [2024-05-13] : publication de la série V1.5 (LLM4Decompile-End, décompilation directe du binaire à l'aide d'un LLM). Les modèles V1.5 sont entraînés sur un jeu de données plus volumineux (15B jetons) avec une longueur de jetons maximale de 4 096, et affichent des performances remarquables (plus de 100 % d'amélioration) par rapport au modèle précédent.
  • [2024-03-16] : ajout du modèle llm4decompile-6.7b-uo, entraîné sans connaissance préalable des niveaux d'optimisation (O0~O3). La ré-exécutabilité moyenne est d'environ 0,219, ce qui en fait le modèle le plus performant de notre gamme.

À propos

  • LLM4Decompile est le premier grand modèle de langage open-source dédié à la décompilation. Sa version actuelle permet de décompiler des binaires Linux x86_64, des niveaux d'optimisation O0 à O3 de GCC, en code source C lisible par l'humain. Notre équipe s'engage à étendre les capacités de cet outil, avec des efforts continus pour intégrer une gamme plus large d'architectures et de configurations.
  • LLM4Decompile-End se concentre sur la décompilation directe du binaire. LLM4Decompile-Ref affine le pseudo-code décompilé par Ghidra.

Évaluation

Cadre

image

Lors de la compilation, le préprocesseur traite le code source (SRC) pour éliminer les commentaires et développer les macros ou les inclusions. Le code nettoyé est ensuite transmis au compilateur, qui le convertit en code assembleur (ASM). Cet ASM est transformé en code binaire (0 et 1) par l'assembleur. L'éditeur de liens finalise le processus en reliant les appels de fonction pour créer un fichier exécutable. La décompilation, quant à elle, consiste à reconvertir le code binaire en fichier source. Les LLM, étant entraînés sur du texte, ne peuvent pas traiter directement les données binaires. Par conséquent, les binaires doivent d'abord être désassemblés par Objdump en langage assembleur (ASM). Il convient de noter que le binaire et l'ASM désassemblé sont équivalents et peuvent être convertis de l'un à l'autre ; c'est pourquoi nous les désignons indifféremment. Enfin, la perte est calculée entre le code décompilé et le code source pour guider l'entraînement. Pour évaluer la qualité du code décompilé (SRC'), sa fonctionnalité est testée par le biais d'assertions de test (ré-exécutabilité).

Métriques

  • Ré-exécutabilité : évalue si le code décompilé peut s'exécuter correctement et réussir tous les cas de test prédéfinis.

Benchmarks

  • HumanEval-Decompile : une collection de 164 fonctions C qui reposent exclusivement sur les bibliothèques C standard.
  • ExeBench : une collection de 2 621 fonctions issues de projets réels, chacune utilisant des fonctions, des structures et des macros définies par l'utilisateur.

Résultats

résultats

image

Modèles

Notre LLM4Decompile comprend des modèles dont la taille varie entre 1,3 milliard et 33 milliards de paramètres, et nous avons rendu ces modèles disponibles sur Hugging Face.

Télécharger l’outil