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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
disrobe — Suite CLI in Rust che decompila staticamente, deoffusca e decomprime codice nativo, bytecode, script, firmware e pacchetti di app attraverso oltre 15 ecosistemi tramite un'unica pipeline automatica. | Kitploit
Strumenti/GitHubGitHub/1-3-7/disrobe
Sicurezza AndroidAnalisi StaticaReverse EngineeringAnalisi MalwareSicurezza MobileAnalisi di BinariAnalisi del Firmware
GitHub1-3-7/disrobe

disrobe

Suite CLI in Rust che decompila staticamente, deoffusca e decomprime codice nativo, bytecode, script, firmware e pacchetti di app attraverso oltre 15 ecosistemi tramite un'unica pipeline automatica.

Vedi Repository
1691127314 giorni 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
disrobe: recupera sorgente, struttura e byte dal software compilato

Disrobe

Latest release Documentation License: Disrobe Source-Available 1.1

Disrobe è un decompilatore statico, deoffuscatore e unpacker. Rimuove packing e offuscamento dal software compilato un livello alla volta e recupera il codice sorgente o i byte originali sottostanti.

Passa a disrobe auto un eseguibile, un pacchetto applicativo, uno script o un'immagine firmware. Assegna un nome a ciascun livello (installer, archivio, packer, freezer, protector, offuscatore, bytecode), lo rimuove con il passaggio di recupero corrispondente e riesegue su ciò che quel passaggio ha prodotto finché nessun passaggio riconosce ciò che rimane. Un singolo binario Rust copre Python, JavaScript e WebAssembly, Java e Android, .NET, codice nativo PE, ELF e Mach-O, Go, Lua, PHP, Ruby, Erlang ed Elixir, ActionScript, script shell e macro di Office, app React Native e Flutter, installer e firmware. disrobe catalog elenca le 169 famiglie di packer, protector, offuscatori e bytecode che riconosce in 15 ecosistemi.

I motori sono integrati. Il bytecode Python viene decompilato senza un'installazione di Python, il recupero di JavaScript non richiede Node.js, e i decompilatori Java, Android e .NET non richiedono JVM o .NET SDK; jvm decompile e dotnet decompile eseguono un decompilatore esterno installato solo quando --backend lo specifica. Disrobe non avvia il programma che analizza a meno che tu non passi --allow-dynamic, che si applica solo a PyArmor v6 e v7. Il modello di sicurezza elenca gli interpreti limitati che valutano codice preso da un input e gli strumenti host che Disrobe avvia.

È pensato per analisti di malware, reverse engineer, responder di incidenti, giocatori di CTF e ricercatori di sicurezza.

Licenza: Disrobe Source-Available License 1.1. Progetti personali hobbistici e apprendimento, ricerca di sicurezza indipendente non retribuita, istruzione e ricerca senza scopo di lucro e giornalismo sono gratuiti, come definiti dalla licenza. Qualsiasi uso da parte di o per un'azienda richiede una licenza a pagamento.

Avvio rapido · Cosa recupera · Risultati misurati · Come funziona · Modello di sicurezza · Documentazione

Avvio rapido

Scarica l'archivio per la tua piattaforma da GitHub Releases, verificalo rispetto a SHA256SUMS e metti disrobe (disrobe.exe su Windows) nel tuo PATH. Poi esegui:

disrobe identify suspect.exe                # compiler, packer, and protector, with evidence
disrobe auto suspect.exe --out recovered/   # remove the layers Disrobe can recover
disrobe context --out recovered/            # what each pass recovered, and at what confidence

Output registrato di identify e del passaggio di unpacking, eseguito su un programma Rust impacchettato con UPX committato in questo repository (corpus/native/packers/upx/hello.packed.nrv2b.exe):

$ disrobe identify hello.packed.exe
format: pe64 (64-bit) subsystem=windows-cui
packer     UPX  (96%)  -> disrobe native unpack
             - [section UPX0] UPX characteristic section
             - [section UPX1] UPX characteristic section
             - [section UPX2] UPX characteristic section
             - [byte scan] UPX packer magic
...

$ disrobe native unpack hello.packed.exe --out recovered/hello.bin
native unpack: OK
  input:        hello.packed.exe
  packer:       upx
  status:       Implemented
  packed_size:  53248
  recovered:    116810 bytes
  wrote:        recovered/hello.bin

Il benchmark di unpacking recupera lo stesso file e lo confronta con la build originale: la sezione .text è identica byte per byte, 73.160 byte senza differenze (unpacking measurements).

Gli archivi di release coprono Windows (x86-64, ARM64), macOS (x86-64, ARM64) e Linux (x86-64 e ARM64 con glibc, x86-64 statico con musl). Ogni archivio ha un bundle di firma cosign separato, e SECURITY.md spiega la verifica. La compilazione dai sorgenti richiede il toolchain Rust fissato in rust-toolchain.toml (1.96.1; la versione minima supportata è 1.95) e un toolchain C per le dipendenze native:

git clone https://github.com/1-3-7/disrobe
cd disrobe
cargo build --locked --release -p disrobe-cli --bin disrobe

La guida all'installazione copre i feature flag e i backend esterni opzionali. Esegui disrobe doctor per sondare da 46 a 51 strumenti esterni a seconda della piattaforma e vedere quali backend opzionali sono installati.

Cosa recupera

Ogni riga indica i formati che Disrobe legge e la protezione che rimuove. Dove disrobe catalog elenca una famiglia, il livello mostrato è quello del catalogo. Le famiglie nominate per prime vengono recuperate. Le famiglie Parziali vengono sbucciate per quanto l'input consente, e il risultato indica ciò che resta. Le famiglie Solo rilevamento vengono identificate, e il risultato dichiara perché il resto non può essere recuperato, di solito perché una chiave esiste solo a runtime. Un nome in grassetto è valutato sull'output dello strumento reale, committato in questo repository; gli altri nomi sono valutati su campioni scritti per i test, oppure sono solo rilevati. Ogni ecosistema rimanda alla sua guida. La colonna Evidence etichetta ogni riga: real collega un risultato o un test che valuta l'output del compilatore o dello strumento reale, synthetic indica ciò che è valutato solo su input costruiti per i test, e claimed indica ciò che nessun test esercita.

Scarica lo strumento