Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
LLM4Decompile — Reverse Engineering: decompilazione di codice binario con modelli linguistici di grandi dimensioni | Kitploit
Strumenti/GitHubGitHub/albertan017/llm4decompile
Reverse EngineeringAnalisi di BinariMachine LearningReverse Engineering Assistito dall'IA
GitHubalbertan017/llm4decompile

LLM4Decompile

Reverse Engineering: decompilazione di codice binario con modelli linguistici di grandi dimensioni

Vedi Repository
7.0k545317 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

LLM4Decompile

📊 Risultati | 🤗 Modelli | 🚀 Avvio rapido | 📚 HumanEval-Decompile | 📎 Citazione | 📝 Paper | 🖥️ Colab | ▶️ YouTube

Reverse Engineering: decompilazione del codice binario con Large Language Models

GitHub Tread

Updates

  • [2025-10-04]: Rilasciato SK²Decompile: decompilazione binaria in due fasi basata su LLM, dallo scheletro alla pelle. Fase 1 Recupero della struttura (Skeleton): trasforma il codice binario/pseudocodice in rappresentazioni intermedie offuscate 🤗 HF Link. Fase 2 Assegnazione dei nomi agli identificatori (Skin): genera codice sorgente leggibile dall'uomo con identificatori significativi 🤗 HF Link.
  • [2025-05-20]: Rilasciato decompile-bench, contiene due milioni di coppie di funzioni binario-sorgente per l'addestramento e 70K coppie di funzioni per la valutazione. Fare riferimento alla cartella decompile-bench per i dettagli.
  • [2024-10-17]: Rilasciato decompile-ghidra-100k, un sottoinsieme di 100k campioni di addestramento (25k per livello di ottimizzazione). Forniamo uno script di addestramento che viene eseguito in ~3.5 ore su una singola GPU A100 40G. Raggiunge un tasso di ri-eseguibilità di 0.26, con un costo totale inferiore a 20 $ per una rapida replica di LLM4Decompile.
  • [2024-09-26]: Aggiornato un notebook Colab per dimostrare l'uso del modello LLM4Decompile, inclusi esempi per i modelli LLM4Decompile-End e LLM4Decompile-Ref.
  • [2024-09-23]: Rilasciato LLM4Decompile-9B-v2, basato su Yi-Coder-9B, ha raggiunto un tasso di ri-eseguibilità di 0.6494 sul benchmark Decompile.
  • [2024-06-19]: Rilasciata la serie V2 (LLM4Decompile-Ref). La V2 (1.3B-22B), basata su Ghidra, è addestrata su 2 miliardi di token per affinare lo pseudocodice decompilato da Ghidra. La versione 22B-V2 supera la 6.7B-V1.5 di un ulteriore 40.1%. Consultare la cartella ghidra per i dettagli.
  • [2024-05-13]: Rilasciata la serie V1.5 (LLM4Decompile-End, decompila direttamente il binario usando LLM). Le V1.5 sono addestrate con un dataset più ampio (15B token) e una lunghezza massima dei token di 4.096, con prestazioni notevoli (oltre 100% di miglioramento) rispetto al modello precedente.
  • [2024-03-16]: Aggiunto il modello llm4decompile-6.7b-uo, addestrato senza conoscenza preliminare dei livelli di ottimizzazione (O0~O3); la ri-eseguibilità media è di circa 0.219 e ottiene le migliori prestazioni tra i nostri modelli.

Informazioni

  • LLM4Decompile è il pionieristico modello linguistico di grandi dimensioni open-source dedicato alla decompilazione. La sua versione attuale supporta la decompilazione di binari Linux x86_64, dai livelli di ottimizzazione O0 a O3 di GCC, in codice sorgente C leggibile dall'uomo. Il nostro team è impegnato ad espandere le capacità di questo strumento, con sforzi continui per includere una gamma più ampia di architetture e configurazioni.
  • LLM4Decompile-End si concentra sulla decompilazione diretta del binario. LLM4Decompile-Ref rifinisce lo pseudocodice decompilato da Ghidra.

Valutazione

Struttura

image

Durante la compilazione, il Preprocessore elabora il codice sorgente (SRC) per eliminare i commenti ed espandere le macro o gli include. Il codice ripulito viene quindi inoltrato al Compilatore, che lo converte in codice assembly (ASM). Questo ASM viene trasformato in codice binario (0 e 1) dall'Assembler. Il Linker completa il processo collegando le chiamate di funzione per creare un file eseguibile. La decompilazione, d'altra parte, consiste nel riconvertire il codice binario in un file sorgente. I LLM, essendo addestrati su testo, non hanno la capacità di elaborare direttamente i dati binari. Pertanto, i binari devono essere prima disassemblati da Objdump in linguaggio assembly (ASM). Si noti che il binario e l'ASM disassemblato sono equivalenti, possono essere convertiti l'uno nell'altro, e quindi li utilizziamo in modo intercambiabile. Infine, la loss viene calcolata tra il codice decompilato e il codice sorgente per guidare l'addestramento. Per valutare la qualità del codice decompilato (SRC'), la sua funzionalità viene testata tramite asserzioni di test (ri-eseguibilità).

Metriche

  • Ri-eseguibilità: valuta se il codice decompilato può essere eseguito correttamente e superare tutti i casi di test predefiniti.

Benchmark

  • HumanEval-Decompile Una raccolta di 164 funzioni C che si basano esclusivamente sulle librerie C standard.
  • ExeBench Una raccolta di 2.621 funzioni tratte da progetti reali, ciascuna utilizzante funzioni, strutture e macro definite dall'utente.

Risultati

results

image

Modelli

I nostri LLM4Decompile includono modelli con dimensioni tra 1,3 e 33 miliardi di parametri e abbiamo reso disponibili questi modelli su Hugging Face.

Scarica lo strumento