Disassemblatore gratis
Il Disassemblatore online trasforma codice macchina in assembly nel browser con Capstone 5. Incolla hex, escape \x, array di byte C o Python o base64, oppure scegli un intervallo di un file binario, poi seleziona x86 (sintassi Intel, AT&T o MASM), ARM, Thumb, ARM64, MIPS, PowerPC, RISC-V, WebAssembly, BPF o altre dieci architetture. I byte non validi diventano righe .byte.
- Architetture:
- 18, tra cui x86, ARM64, RISC-V, WebAssembly
- Input:
- Hex, escape \x, array C/Python, base64, file
- Limite:
- 256 KiB per volta; link condivisi fino a 4 KiB
- Prezzo:
- Gratis
- Funziona:
- In locale, nel tuo browser
- Upload:
- Nessuno: i file non lasciano il dispositivo
- Account:
- Non serve
Risposte rapide
I miei byte vengono caricati da qualche parte?
No. Capstone gira come WebAssembly in un worker in background sul tuo dispositivo. L’unico download è il motore stesso, circa 3,6 MB da questo sito, la prima volta che premi Disassemble o apri un link condiviso. I file vengono letti in locale, e solo nell’intervallo che scegli. Un link condiviso tiene i byte dopo il # dell’indirizzo, una parte che i browser non inviano ai server.
Quali architetture sono supportate?
Tutte le 18 di Capstone 5: x86 (16, 32 e 64 bit), ARM e Thumb (Cortex-M compreso), ARM64, MIPS (32, 64, Release 6, microMIPS), PowerPC (32, 64, paired single), SPARC, RISC-V (32 e 64 bit, con o senza istruzioni compresse), WebAssembly, eBPF e BPF classico, Ethereum EVM, dal 68000 al 68060, la famiglia 6800/6809, 6502 e 65816, SuperH, SystemZ, TriCore, TMS320C64x e XCore.
Per ora l'interfaccia dello strumento è in inglese.
Elaborato sul tuo dispositivo: i tuoi file non vengono mai caricati. Come funziona
Attività di rete in questa scheda
Ciò che questa pagina ha richiesto da quando hai aperto il sito in questa scheda. Un upload è qualsiasi richiesta che invia dati: POST, PUT, PATCH o una richiesta con un corpo.
Nessun upload: questa pagina non ha inviato nulla.
Ancora nessuna richiesta di rete.
Per vedere ogni richiesta, apri gli strumenti per sviluppatori del browser (scheda Rete).
Come usare Disassemblatore
- Incolla i byte in esadecimale (55 48 89 e5, 0x55, 0x48, \x55\x48 o un array C o Python) o in base64, oppure apri un file binario e imposta Offset e Length (lunghezza) da leggere.
- Scegli Architecture (architettura), Mode (modalità), Byte order (ordine dei byte) e, per x86, la sintassi Intel, AT&T o MASM. Imposta Start address (indirizzo iniziale) perché le destinazioni di salti e chiamate mostrino gli indirizzi reali.
- Premi Disassemble: l’elenco mostra indirizzo, byte, mnemonico e operandi e si aggiorna mentre modifichi. Attiva Instruction details per vedere i registri letti e scritti e i gruppi delle istruzioni.
- Usa Copy listing o Download .txt, oppure Copy share link per inviare byte e impostazioni in un link.
Crediti e open source
Codice nostro più librerie open source. Grazie alle persone che portano avanti questi progetti.
- Capstone.js (Capstone 5)© Alexandro Sanchez Bach (Capstone.js bindings); Capstone by Nguyen Anh Quynh and the Capstone contributors · BSD-3-Clause
API della piattaforma web usate: WebAssembly, Web Workers, File API, Clipboard API, URL API.
Testi completi delle licenze: avvisi di terze parti · tutti i crediti
Domande frequenti
Cosa sono le righe .byte?
Contengono byte che non sono un’istruzione valida per l’architettura e la modalità scelte. Il disassemblatore li salta un passo di allineamento alla volta (1 byte su x86, 4 su ARM64) e prosegue. Molte righe .byte di solito indicano un’architettura, una modalità o un ordine dei byte sbagliati, oppure che quei byte sono dati e non codice.
Come incollo lo shellcode di msfvenom o pwntools?
Incolla l’output così com’è: stringhe C ("\x48\x31…"), righe Python (buf += b"\x48…"), stringhe di byte di pwntools con caratteri stampabili (b'jhH\xb8/bin') o array 0x. Il codice attorno ai byte viene ignorato, e tutto ciò che non è un byte viene segnalato con riga e colonna.
Può disassemblare un intero file EXE o ELF?
Decodifica i byte grezzi dall’offset che scegli, fino a 256 KiB; non legge intestazioni, sezioni o simboli. Trova prima l’offset nel file della sezione di codice (lo mostrano readelf, objdump o un visualizzatore PE), poi disassembla quell’intervallo con l’architettura e l’indirizzo iniziale giusti.
Segue i salti o decompila il codice?
No. È uno sweep lineare: i byte vengono decodificati in ordine dall’inizio, quindi i dati mescolati al codice diventano istruzioni strane. Non c’è analisi del flusso di controllo, né decompilatore, né assemblatore.