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
Strumenti/GitHubGitHub/bishopfox/mauidll
Sicurezza AndroidAnalisi StaticaAnalisi Dinamica del Codice (DAST)Reverse EngineeringSicurezza MobileUtilità e FrameworkAnalisi di Binari
GitHubbishopfox/mauidll

mauidll

Estrai gli assembly gestiti (.NET) da un assembly store di MAUI Android.

Vedi Repository
101 giorno faNon ancora revisionato

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

mauidll

Estrae gli assembly gestiti (.NET) da un assembly store di MAUI Android.

Le app .NET Android distribuiscono il loro codice gestito all'interno di una libreria condivisa, solitamente libassemblies.<abi>.blob.so (versioni precedenti) o libassembly-store.so. mauidll analizza quel file e scrive ogni assembly che contiene su disco come un file .dll standard, pronto per l'ispezione in un decompilatore come ILSpy.

Lo strumento è un singolo programma Crystal autonomo senza dipendenze esterne. Il decompressore LZ4 di cui ha bisogno è implementato inline, quindi non serve nulla oltre alla libreria standard.

Avvio rapido

root@kitploit:~
crystal build --release mauidll.cr -o mauidll
./mauidll libassembly-store.so extracted-dlls

Il binario prodotto da crystal build è autonomo: richiede Crystal solo sulla macchina di compilazione, non su qualsiasi macchina dove lo si esegue.

Installazione

1. Installare Crystal

mauidll è compilato con il linguaggio Crystal. Se non hai ancora Crystal:

macOS

Il modo più diffuso è Homebrew:

root@kitploit:~
brew install crystal

Crystal è disponibile anche come tarball universale ufficiale (Apple Silicon e Intel) dalla pagina dei download.

Linux

Su Debian, Ubuntu e distribuzioni correlate, installa il repository ufficiale dei pacchetti e poi il compilatore:

root@kitploit:~
curl -fsSL https://crystal-lang.org/install.sh | sudo bash
sudo apt install crystal

In alternativa, su qualsiasi distribuzione che supporta gli snap:

root@kitploit:~
sudo snap install crystal --classic

Su Arch Linux:

root@kitploit:~
sudo pacman -S crystal shards

2. Compilazione

root@kitploit:~
crystal build --release mauidll.cr -o mauidll

mauidll è stato sviluppato e testato con Crystal 1.20.x. Usa solo la libreria standard, quindi qualsiasi versione ragionevolmente recente dovrebbe funzionare.

Utilizzo

root@kitploit:~
./mauidll <assembly-store.so> [outdir]
ArgomentoSignificato
assembly-store.soPercorso dello store, ad es. libassemblies.arm64-v8a.blob.so
outdir (opzionale)Directory di output, predefinita a dlls nella directory corrente

Esempio:

root@kitploit:~
./mauidll /tmp/app64-v8a/libassembly-store.so /tmp/extracted

Le righe di output riportano una riga per assembly (name: size -> decompressed size, valid PE), seguite da un riepilogo come:

root@kitploit:~
Extracted 235 entries, valid PE (MZ) after extraction: 235/235

Come funziona

  1. Il file dello store è un oggetto ELF. L'assembly store risiede in una sezione payload non caricabile, che mauidll individua tramite gli header di sezione ELF (sono supportati sia ELF a 32 che a 64 bit).
  2. Il payload inizia con un header XABA di 20 byte: magic, versione, numero di entry, numero di entry dell'indice e dimensione dell'indice.
  3. Dopo l'indice vengono i descrittori, 28 byte ciascuno (indice di mappatura, offset dei dati, dimensione dei dati), poi una tabella di nomi (lunghezza uint32 little-endian + byte UTF-8 per ogni entry).
  4. Ogni blob è o un assembly già compresso o uno non compresso. Un blob che inizia con XALZ è un blocco LZ4 raw (non il formato frame LZ4) preceduto da un header di 12 byte che include la dimensione non compressa; qualsiasi altra cosa (che inizia con MZ) è memorizzata verbatim.
  5. I blob decompressi vengono scritti su disco con il loro nome di assembly e verificati per iniziare con la firma PE MZ.
Scarica lo strumento