Ispettore WebAssembly
WebAssembly Inspector
Elenca importazioni, esportazioni, memoria e dimensioni delle sezioni di un modulo .wasm e ne stampa il formato testuale.
Apre un file `.wasm` e mostra che cosa c’è dentro: le sezioni e le loro dimensioni, ogni import e ogni export, le dichiarazioni di memoria e di tabella, e i nomi delle funzioni dalla sezione dei nomi, se la build li ha conservati. Il modulo viene analizzato, mai istanziato né eseguito.
Trascina qui un modulo .wasm
Analizzato in questa scheda: il modulo viene ispezionato, mai istanziato né eseguito.
WebAssembly.validate del browser stesso. I corpi delle funzioni vengono misurati, non disassemblati: qui si vede che cosa un modulo dichiara e che cosa tocca, non una conversione completa nel formato testuale.Come si usa
Trascinare dentro il modulo
Un file `.wasm` qualunque. Viene letto in questa scheda e controllato anche con il `WebAssembly.validate` del browser stesso, così si ha un secondo parere sul fatto che sia ben formato.
Guardare prima le sezioni
La tabella delle dimensioni è il modo più rapido di vedere dove sono finiti i byte: una sezione dati grande vuol dire risorse incorporate, una sezione custom grande di solito è fatta di nomi di debug o di DWARF.
Leggere gli import
Gli import sono tutto il contratto del modulo con l’host: ogni funzione che può chiamare e ogni memoria che condivide. Se si sta verificando un modulo che non si è costruito, è questo l’elenco che conta.
Domande frequenti
Si può vedere il codice vero e proprio?
No. I corpi delle funzioni vengono misurati, non disassemblati: qui si riporta quello che un modulo dichiara e tocca, non lo si converte nel formato testuale. Per un disassemblaggio completo lo strumento è `wasm2wat` del toolkit WABT.
Perché mancano i nomi delle funzioni?
Perché la build ha rimosso la sezione custom dei nomi, che è quello che una build di release fa normalmente. Gli export mantengono comunque i loro nomi — fanno parte dell’interfaccia del modulo — quindi una funzione esportata resta identificabile.
Un modulo con degli import è pericoloso?
Non di per sé: WebAssembly arriva solo a quello che l’host gli passa, e un modulo senza import non può toccare niente del mondo esterno. Quello che gli import nominano è esattamente quello che può fare, ed è per questo che vale la pena leggerli prima di istanziare qualcosa.
La validazione del motore dice non valido, ma l’analisi è riuscita.
Controllano cose diverse. L’analisi legge la struttura; `WebAssembly.validate` verifica anche i tipi di ogni corpo di funzione. Un modulo può avere una disposizione delle sezioni perfettamente leggibile ed essere comunque rifiutato: un file troncato, oppure un passo di post-elaborazione che ha riscritto byte che non doveva.
Può ricevere da
Visualizzatore esadecimale
Hex Viewer
Mostra qualsiasi file come dump di offset, esadecimale e ASCII, riconosce i byte magici ed evidenzia il risultato di una ricerca.
Codificatore e decodificatore Base64
Base64 Encoder & Decoder
Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.
Generatore di coppie di chiavi
Key Pair Generator
Genera coppie di chiavi RSA, ECDSA o Ed25519 e le esporta in PEM, JWK o OpenSSH.
Generatore di chiavi SSH
SSH Key Generator
Genera una coppia di chiavi OpenSSH con commento e ne mostra l’impronta. La chiave privata esce senza passphrase: va aggiunta in locale con ssh-keygen -p.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Esploratore di immagini Docker
Docker Image Explorer
Apre l’archivio tar di un’immagine esportata e mostra per ogni livello il comando, la dimensione e i file che ha aggiunto o cancellato.
Visualizzatore esadecimale
Hex Viewer
Mostra qualsiasi file come dump di offset, esadecimale e ASCII, riconosce i byte magici ed evidenzia il risultato di una ricerca.
Formattatore e minificatore JavaScript
JavaScript Beautifier & Minifier
Toglie commenti e spazi da JavaScript o TypeScript senza rinominare niente, e re-indenta un bundle minificato perché torni leggibile.
Codificatore e decodificatore Base64
Base64 Encoder & Decoder
Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.
Da curl a codice
curl to Code
Converte un comando curl in fetch, axios, requests di Python, Go, PHP o PowerShell.
Hash di un testo
Text Hash
Calcola MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC-32 di una stringa, con uscita in maiuscolo o in Base64.