Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/albertan017/llm4decompile
Reverse EngineeringBinäranalyseMaschinelles LernenKI-gestütztes Reverse Engineering
GitHubalbertan017/llm4decompile

LLM4Decompile

Reverse Engineering: Dekompilieren von Binärcode mit großen Sprachmodellen

Repository anzeigen
7.0k54532vor 7 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

LLM4Decompile

📊 Ergebnisse | 🤗 Modelle | 🚀 Schnellstart | 📚 HumanEval-Decompile | 📎 Zitation | 📝 Paper | 🖥️ Colab | ▶️ YouTube

Reverse Engineering: Dekompilieren von Binärcode mit großen Sprachmodellen

GitHub Tread

Aktualisierungen

  • [2025-10-04]: Veröffentlichung von SK²Decompile: LLM-basierte zweiphasige Binär-Dekompilierung vom Skelett zur Haut. Phase 1 Strukturwiederherstellung (Skelett): Wandelt Binär-/Pseudo-Code in verschleierte Zwischendarstellungen um 🤗 HF-Link. Phase 2 Benennung der Bezeichner (Haut): Erzeugt menschenlesbaren Quellcode mit aussagekräftigen Bezeichnern 🤗 HF-Link.
  • [2025-05-20]: Veröffentlichung von decompile-bench, das zwei Millionen Binär-Quellcode-Funktionspaare für das Training und 70.000 Funktionspaare für die Evaluierung enthält. Weitere Einzelheiten finden Sie im Ordner decompile-bench.
  • [2024-10-17]: Veröffentlichung von decompile-ghidra-100k, einem Teilbereich von 100.000 Trainingsbeispielen (25.000 pro Optimierungsstufe). Wir stellen ein Trainingsskript bereit, das in etwa 3,5 Stunden auf einer einzelnen A100-40G-GPU läuft. Es erreicht eine Re-Ausführbarkeitsrate von 0.26, bei Gesamtkosten von unter 20 $ für eine schnelle Reproduktion von LLM4Decompile.
  • [2024-09-26]: Aktualisierung eines Colab-Notebooks zur Demonstration der Verwendung des LLM4Decompile-Modells, einschließlich Beispielen für die LLM4Decompile-End- und LLM4Decompile-Ref-Modelle.
  • [2024-09-23]: Veröffentlichung von LLM4Decompile-9B-v2, feinabgestimmt auf Basis von Yi-Coder-9B, erreicht eine Re-Ausführbarkeitsrate von 0.6494 im Decompile-Benchmark.
  • [2024-06-19]: Veröffentlichung der V2-Serie (LLM4Decompile-Ref). V2 (1.3B-22B), basierend auf Ghidra, wird mit 2 Milliarden Tokens trainiert, um den von Ghidra dekompilierten Pseudo-Code zu verfeinern. Die 22B-V2-Version übertrifft die 6.7B-V1.5 um weitere 40.1%. Bitte lesen Sie den ghidra-Ordner für Details.
  • [2024-05-13]: Veröffentlichung der V1.5-Serie (LLM4Decompile-End, dekompiliert Binärdateien direkt mithilfe von LLMs). V1.5 wird mit einem größeren Datensatz (15B Tokens) und einer maximalen Token-länge von 4,096 trainiert, mit bemerkenswerter Leistung (über 100 % Verbesserung) im Vergleich zum vorherigen Modell.
  • [2024-03-16]: Hinzufügen des Modells llm4decompile-6.7b-uo, das ohne vorherige Kenntnis der Optimierungsstufen (O0~O3) trainiert wurde. Die durchschnittliche Re-Ausführbarkeit liegt bei etwa 0.219 und ist damit das beste unserer Modelle.

Über

  • LLM4Decompile ist das wegweisende Open-Source-Sprachmodell, das sich der Dekompilierung widmet. Die aktuelle Version unterstützt die Dekompilierung von Linux-x86_64-Binärdateien, von GCCs Optimierungsstufen O0 bis O3, in menschenlesbaren C-Quellcode. Unser Team ist bestrebt, die Fähigkeiten dieses Tools zu erweitern, mit laufenden Bemühungen, eine breitere Palette von Architekturen und Konfigurationen zu integrieren.
  • LLM4Decompile-End konzentriert sich auf die direkte Dekompilierung der Binärdatei. LLM4Decompile-Ref verfeinert den von Ghidra dekompilierten Pseudo-Code.

Evaluierung

Framework

image

Während der Kompilierung verarbeitet der Präprozessor den Quellcode (SRC), um Kommentare zu entfernen und Makros oder Includes zu erweitern. Der bereinigte Code wird dann an den Compiler weitergeleitet, der ihn in Assembler-Code (ASM) umwandelt. Dieser ASM wird vom Assembler in Binärcode (Nullen und Einsen) transformiert. Der Linker schließt den Prozess ab, indem er Funktionsaufrufe zu einer ausführbaren Datei verknüpft. Die Dekompilierung hingegen besteht darin, Binärcode zurück in eine Quelldatei umzuwandeln. LLMs, die auf Text trainiert werden, sind nicht in der Lage, Binärdaten direkt zu verarbeiten. Daher müssen Binärdateien zuerst von Objdump in Assemblersprache (ASM) disassembliert werden. Es ist zu beachten, dass Binär- und disassemblierter ASM äquivalent sind und ineinander umgewandelt werden können; wir verwenden die Begriffe daher austauschbar. Schließlich wird der Verlust zwischen dem dekompilierten Code und dem Quellcode berechnet, um das Training zu steuern. Um die Qualität des dekompilierten Codes (SRC') zu bewerten, wird er anhand von Test-Assertions auf seine Funktionalität getestet (Re-Ausführbarkeit).

Metriken

  • Re-Ausführbarkeit bewertet, ob der dekompilierte Code ordnungsgemäß ausgeführt werden kann und alle vordefinierten Testfälle besteht.

Benchmarks

  • HumanEval-Decompile Eine Sammlung von 164 C-Funktionen, die ausschließlich auf Standard-C-Bibliotheken basieren.
  • ExeBench Eine Sammlung von 2.621 Funktionen aus realen Projekten, die jeweils benutzerdefinierte Funktionen, Strukturen und Makros verwenden.

Ergebnisse

results

image

Modelle

Unsere LLM4Decompile umfasst Modelle mit Größen zwischen 1,3 und 33 Milliarden Parametern, und wir haben diese Modelle auf Hugging Face verfügbar gemacht.

Tool herunterladen