DEX-Bytecode-Viewer
Laden Sie eine DEX-Datei (Dalvik Executable) hoch, um ihre Bytecode-Struktur, Dalvik-Anweisungen, Opcodes, Mnemoniken, Registerverwendung und Methodendefinitionen anzuzeigen. Analysieren Sie die vollständige DEX-Struktur einschließlich Header-Feldern, String-Tabellen, Typ-/Prototyp-/Feld-/Methoden-Tabellen, Klassendefinitionen und vollständiger Disassemblierung auf Anweisungsebene. Kostenlos, privat und ohne Anmeldung.
Drop a DEX file here or click to browse
Supports .dex, .apk (extract classes.dex), and .odex files
Upload a DEX file to view its bytecode structure. The viewer parses the DEX header, string/type/proto/field/method tables, class definitions, and Dalvik bytecode instructions with full disassembly.
Warum unseren DEX-Bytecode-Viewer verwenden?
- Vollständige DEX-Strukturanalyse: Analysiert das gesamte DEX-Dateiformat, einschließlich Header, String-IDs, Typ-IDs, Prototyp-IDs, Feld-IDs, Methoden-IDs, Klassendefinitionen und Code-Elementen. Zeigen Sie jedes strukturelle Element Ihrer DEX-Datei mit rohen Offsets und Größen an.
- Vollständige Dalvik-Bytecode-Disassemblierung: Disassembliert Dalvik-Anweisungen in lesbare Mnemoniken mit Registeroperanden, Methodenreferenzen, Typdeskriptoren und String-Konstanten. Unterstützt alle wichtigen Anweisungsformate, einschließlich 35c (invoke) und 3rc (invoke/range).
- Klassen- und Methodenbaum-Explorer: Navigieren Sie in einer erweiterbaren Baumansicht durch Klassen und ihre Methoden. Sehen Sie Zugriffsflags, Superklasse, Interfaces, Quelldatei, Registerverwendung und Bytecode auf Anweisungsebene für jede Methode. Erweitern Sie jede Klasse oder Methode für alle Details.
- 100 % lokal im Browser und privat: Die gesamte DEX-Analyse und -Disassemblierung läuft vollständig in Ihrem Browser. Ihre DEX-Datei, Bytecode-Anweisungen und analysierte Struktur verlassen niemals Ihr Gerät. Keine Uploads, keine Server, kein Tracking – völlig sicher für die Analyse jeder DEX-Datei.
Typische Anwendungsfälle des DEX-Bytecode-Viewers
- Malware-Analyse und Reverse Engineering: Analysieren Sie Android-APK-Dateien auf schädliches Verhalten, indem Sie Dalvik-Bytecode-Anweisungen untersuchen. Identifizieren Sie verdächtige API-Aufrufe, obfuskierte Methodennamen und ungewöhnliche Kontrollflussmuster direkt im Bytecode – ohne Dekompilierung nach Java.
- Sicherheitsaudit von Android-Apps: Prüfen Sie Android-Anwendungen auf Sicherheitslücken, indem Sie ihren Bytecode untersuchen. Suchen Sie nach unsicherer API-Nutzung, fest kodierten Zugangsdaten in der String-Tabelle, fehlerhaften Berechtigungsprüfungen und ungeschützten Komponenten-Exporten auf DEX-Bytecode-Ebene.
- Obfuskierungs- und Packer-Analyse: Untersuchen Sie DEX-Dateien auf Obfuskierungsindikatoren wie ungewöhnliche Klassen-/Methodennamen, reflexionslastigen Code, dynamisch aufgerufene Methoden, String-Verschlüsselungsmuster und Class-Loader-Nutzung. Die String-Tabellen-Ansicht hilft, kodierte oder verschlüsselte Payloads zu identifizieren.
- Android-Entwicklung und Debugging: Android-Entwickler können die kompilierte DEX-Ausgabe untersuchen, um ProGuard/R8-Optimierungen zu überprüfen, Methoden-Inlining zu kontrollieren, zu verstehen, wie Kotlin-Funktionen zu Bytecode kompilieren, und Kompilierungsprobleme auf Anweisungsebene zu debuggen.
- Forensische Analyse von Android-Apps: Analysten der digitalen Forensik können DEX-Dateien von Android-Geräten untersuchen, um das App-Verhalten zu verstehen, String-Konstanten und Klassenstrukturen wiederherzustellen und ein vollständiges Bild davon zu erhalten, was eine Anwendung auf Bytecode-Ebene tut.
- Lehrreiche Studie des Dalvik-Bytecodes: Erfahren Sie, wie die Dalvik-Virtual-Machine funktioniert, indem Sie echte DEX-Dateien erkunden. Verstehen Sie Anweisungsformate, registerbasierte Architektur, Methoden-Dispatch und Typauflösung. Perfekt für Studierende der Android-Interna und des Compilerbaus.
Was ist eine DEX-Datei?
Eine DEX-Datei (Dalvik Executable) ist das kompilierte Bytecode-Format, das von Androids Dalvik Virtual Machine und ihrem Nachfolger ART (Android Runtime) verwendet wird. Jede Android-Anwendung (.apk-Datei) enthält eine oder mehrere classes.dex-Dateien, die den gesamten kompilierten Java/Kotlin-Code enthalten. Anders als standardmäßige JVM-Klassendateien, die eine stapelbasierte Architektur nutzen, verwenden DEX-Dateien eine registerbasierte Architektur, in der Anweisungen auf benannten virtuellen Registern (v0, v1 usw.) arbeiten. Dieses registerbasierte Design ermöglicht eine effizientere Bytecode-Interpretation und bessere Leistung auf mobilen Geräten. Das DEX-Format wurde 2007 mit der Android-Plattform eingeführt und hat sich über mehrere Versionen (035, 037, 038, 039) weiterentwickelt, wobei jede Version neue Opcodes und Optimierungsfunktionen hinzufügte.
So funktioniert unser DEX-Bytecode-Viewer
Der DEX-Bytecode-Viewer parst das vollständige binäre DEX-Format und disassembliert Dalvik-Anweisungen in drei Stufen, vollständig in Ihrem Browser:
- Datei-Upload und binäres Parsen: Laden Sie eine .dex-Datei hoch (oder extrahieren Sie classes.dex aus einem .apk). Der Viewer liest den DEX-Header, um alle Datenabschnitte zu lokalisieren, und parst die String-IDs, Typ-IDs, Prototyp-IDs, Feld-IDs, Methoden-IDs und Klassendefinitionen gemäß der Standard-DEX-Binärformat-Spezifikation.
- Bytecode-Disassemblierung: Für jede Methode mit Code liest der Viewer die Code-Element-Struktur (Registeranzahl, Argumentanzahl, Anweisungsarray) und disassembliert jedes 16-Bit-Anweisungswort. Jeder Opcode wird seiner Dalvik-Mnemonik zugeordnet (move, add-int, invoke-virtual usw.), und Operanden werden je nach Anweisungsformat (12x, 35c, 3rc usw.) dekodiert.
- Strukturierte Anzeige: Die analysierten Daten werden in vier Ansichten dargestellt: Klassen (erweiterbarer Baum mit Methoden und Bytecode), Methoden (flache Tabelle aller Methoden mit Prototypen), Strings (alle String-Konstanten in der DEX-Datei) und Header (alle DEX-Header-Felder). Jede Anweisung zeigt ihren Offset, rohe Bytes, Mnemonik und dekodierte Operanden.
Was Sie in der DEX-Struktur sehen können
- DEX-Header: Magic Number (dex 035\0), Prüfsumme, SHA-1-Signatur, Dateigröße, Abschnittsgrößen und -offsets für alle Datentabellen.
- String-Pool: Alle in der DEX-Datei verwendeten String-Konstanten – Klassennamen, Methodennamen, Feldnamen, Deskriptor-Strings und literale String-Werte, die in const-string-Anweisungen verwendet werden.
- Typ- und Prototyp-Tabellen: Typdeskriptoren (Ljava/lang/String;, I, [B usw.) und Methodenprototyp-Definitionen (Rückgabetyp + Parametertypen), die Methodensignaturen definieren.
- Klassendefinitionen: Jede Klasse im DEX mit Zugriffsflags (public, abstract, interface, enum), Superklasse, Interfaces, Quelldatei und Listen direkter und virtueller Methoden.
- Methoden-Bytecode: Vollständige Dalvik-Anweisungslisten mit Registeranzahl, Argumentregistern, Try-Catch-Blöcken und Anweisungs-Disassemblierung mit Offsets, Opcodes, Mnemoniken und dekodierten Operanden.
Datenschutz und Sicherheit
Dieses Tool läuft vollständig in Ihrem Browser mit clientseitigem JavaScript. Die von Ihnen hochgeladene DEX-Datei, aller analysierte Bytecode, disassemblierte Anweisungen, Klassenstrukturen, String-Tabellen und Analyseergebnisse werden nie an einen Server gesendet, in einer Datenbank gespeichert oder über das Netzwerk übertragen. Die gesamte Analyse, Disassemblierung und Anzeige erfolgt lokal auf Ihrem Gerät. Es gibt keine API-Aufrufe, kein Analyse-Tracking, keine Cookies und keinerlei Datenerhebung. Dadurch ist es völlig sicher, proprietäre Android-Anwendungen, Malware-Proben oder beliebige sensible DEX-Dateien zu analysieren.
Häufig gestellte Fragen
Eine DEX-Datei (Dalvik Executable) enthält den kompilierten Bytecode für Android-Anwendungen. Der Blick auf DEX-Bytecode zeigt genau, was eine App auf Anweisungsebene tut – nützlich für Malware-Analyse, Sicherheitsaudits, Reverse Engineering, Fehlersuche bei der Kompilierung und zum Erlernen der Funktionsweise von Android-Bytecode.
Ja. Jedes Android-APK enthält eine classes.dex-Datei, die der DEX-Bytecode-Viewer analysieren kann. Extrahieren Sie classes.dex aus einem beliebigen APK (mit einem beliebigen ZIP-Extraktor) und laden Sie es hoch. Der Viewer akzeptiert auch .odex-Dateien (optimierter DEX).
Der Disassembler unterstützt alle wichtigen Dalvik-Anweisungsformate, darunter 10x, 11n, 12x, 21c, 22c, 22t, 23x, 35c, 3rc, 31i und 51l. Über 200 Opcodes werden in allen Anweisungskategorien unterstützt.
Nein. Der DEX-Bytecode-Viewer läuft vollständig in Ihrem Browser. Ihre DEX-Datei, alle analysierten Daten, disassemblierten Anweisungen und Analyseergebnisse verlassen niemals Ihr Gerät. Keine Server-Uploads, keine API-Aufrufe und keine Datenerhebung.
Der Viewer hilft, Obfuskierung zu erkennen, indem er die tatsächlichen Klassen-/Methodennamen, String-Konstanten und Anweisungsmuster zeigt. Obfuskierte DEX-Dateien haben typischerweise kurze, bedeutungslose Namen (a, b, c), die in den Klassen- und Methodentabellen sichtbar sind.
Die String-Tabelle zeigt alle im DEX-Datei eingebetteten String-Konstanten, darunter Klassendeskriptoren, Methoden- und Feldnamen, Typdeskriptoren, Quelldateinamen und literale String-Werte, die in const-string-Anweisungen verwendet werden.
Ja. Methoden mit Ausnahmebehandlung zeigen Try-Catch-Blockinformationen einschließlich Startadresse, Anweisungsanzahl und Handler-Typ (abgefangene Ausnahmeklasse oder Catch-all).
Das 35c-Format kodiert bis zu 5 Argumentregister kompakt. Das 3rc-Format verwendet eine bereichsbasierte Kodierung mit Startregister und Anzahl, die bei vielen Argumenten oder für bestimmte Registerbereiche genutzt wird.
Ja – 100 % kostenlos, ohne Anmeldung, ohne Konto und ohne Nutzungslimits. Analysieren Sie so viele DEX-Dateien wie nötig, so oft Sie wollen. Die gesamte Analyse läuft in Ihrem Browser.