Online-Disassembler – kostenlos
Der Online-Disassembler wandelt Maschinencode im Browser mit Capstone 5 in Assembler um. Füge Hex, \x-Escapes, C- oder Python-Byte-Arrays oder Base64 ein oder wähle einen Bereich einer Binärdatei und stelle x86 (Intel-, AT&T- oder MASM-Syntax), ARM, Thumb, ARM64, MIPS, PowerPC, RISC-V, WebAssembly, BPF oder eine von zehn weiteren Architekturen ein. Ungültige Bytes erscheinen als .byte-Zeilen.
- Architekturen:
- 18, darunter x86, ARM64, RISC-V, WebAssembly
- Eingabe:
- Hex, \x, C/Python-Arrays, Base64, Datei
- Grenze:
- 256 KiB pro Durchlauf; geteilte Links bis 4 KiB
- Preis:
- Kostenlos
- Läuft:
- Lokal in deinem Browser
- Uploads:
- Keine: Dateien verlassen nie dein Gerät
- Konto:
- Nicht nötig
Kurze Antworten
Werden meine Bytes irgendwohin hochgeladen?
Nein. Capstone läuft als WebAssembly in einem Hintergrund-Worker auf deinem Gerät. Der einzige Download ist die Engine selbst, etwa 3,6 MB von dieser Website, beim ersten Klick auf Disassemble oder beim Öffnen eines geteilten Links. Dateien werden lokal gelesen, und nur der gewählte Bereich. Ein geteilter Link speichert die Bytes hinter dem # der Adresse, einem Teil, den Browser nicht an Server senden.
Welche Architekturen werden unterstützt?
Alle 18 von Capstone 5: x86 (16, 32 und 64 Bit), ARM und Thumb (auch Cortex-M), ARM64, MIPS (32, 64, Release 6, microMIPS), PowerPC (32, 64, Paired Singles), SPARC, RISC-V (32 und 64 Bit, mit oder ohne komprimierte Befehle), WebAssembly, eBPF und klassisches BPF, Ethereum EVM, 68000 bis 68060, die 6800/6809-Familie, 6502 und 65816, SuperH, SystemZ, TriCore, TMS320C64x und XCore.
Die Oberfläche des Tools ist vorerst auf Englisch.
Auf deinem Gerät verarbeitet: Deine Dateien werden nie hochgeladen. So funktioniert's
Netzwerkaktivität in diesem Tab
Was diese Seite angefragt hat, seit du die Website in diesem Tab geöffnet hast. Ein Upload ist jede Anfrage, die Daten sendet: POST, PUT, PATCH oder eine Anfrage mit Inhalt (Body).
Keine Uploads: Diese Seite hat nichts gesendet.
Noch keine Netzwerkanfragen.
Um jede Anfrage zu sehen, öffne die Entwicklertools deines Browsers (Tab „Netzwerk“).
So verwendest du Online-Disassembler
- Füge die Bytes als Hex (55 48 89 e5, 0x55, 0x48, \x55\x48 oder ein C- oder Python-Array) oder als Base64 ein, oder öffne eine Binärdatei und lege Offset und Length (Länge) des zu lesenden Bereichs fest.
- Wähle Architecture (Architektur), Mode (Modus), Byte order (Byte-Reihenfolge) und bei x86 die Intel-, AT&T- oder MASM-Syntax. Setze Start address (Startadresse), damit Sprung- und Aufrufziele die echten Adressen zeigen.
- Drücke Disassemble: Das Listing zeigt Adresse, Bytes, Mnemonic und Operanden und wird beim Bearbeiten aktualisiert. Schalte Instruction details ein, um gelesene und geschriebene Register und die Befehlsgruppen zu sehen.
- Nutze Copy listing oder Download .txt, oder Copy share link, um Bytes und Einstellungen als Link zu verschicken.
Danksagungen & Open Source
Eigener Code plus Open-Source-Bibliotheken. Danke an alle, die diese Projekte möglich machen.
- Capstone.js (Capstone 5)© Alexandro Sanchez Bach (Capstone.js bindings); Capstone by Nguyen Anh Quynh and the Capstone contributors · BSD-3-Clause
Verwendete Webplattform-APIs: WebAssembly, Web Workers, File API, Clipboard API, URL API.
Vollständige Lizenztexte: Hinweise zu Drittanbietern · alle Danksagungen
Häufige Fragen
Was bedeuten die .byte-Zeilen?
Sie enthalten Bytes, die für die gewählte Architektur und den Modus kein gültiger Befehl sind. Der Disassembler überspringt sie jeweils um einen Ausrichtungsschritt (1 Byte bei x86, 4 bei ARM64) und macht weiter. Viele .byte-Zeilen bedeuten meist eine falsche Architektur, einen falschen Modus oder eine falsche Byte-Reihenfolge, oder dass die Bytes Daten und kein Code sind.
Wie füge ich Shellcode aus msfvenom oder pwntools ein?
Füge die Ausgabe so ein, wie sie ist: C-Strings ("\x48\x31…"), Python-Zeilen (buf += b"\x48…"), Byte-Strings von pwntools mit druckbaren Zeichen (b'jhH\xb8/bin') oder 0x-Arrays. Der Code um die Bytes herum wird ignoriert, und alles, was kein Byte ist, wird mit Zeile und Spalte gemeldet.
Kann er eine ganze EXE- oder ELF-Datei disassemblieren?
Er dekodiert rohe Bytes ab dem gewählten Offset, bis zu 256 KiB; Header, Sektionen und Symbole liest er nicht. Ermittle zuerst den Datei-Offset der Code-Sektion (readelf, objdump oder ein PE-Viewer zeigen ihn) und disassembliere dann diesen Bereich mit der passenden Architektur und Startadresse.
Folgt er Sprüngen oder dekompiliert er den Code?
Nein. Es ist ein linearer Durchlauf: Die Bytes werden der Reihe nach vom Anfang an dekodiert, Daten zwischen dem Code werden also zu seltsamen Befehlen. Es gibt keine Kontrollflussanalyse, keinen Decompiler und keinen Assembler.