Über die .dex-Datei:
Eine der bemerkenswertesten Eigenschaften des Dalvik Virtual Machine
(Arbeitspferdes unter dem Android-System) ist, dass es keinen Java-Bytecode verwendet. Stattdessen wurde ein selbst entwickeltes Format namens DEX eingeführt, und nicht einmal die Bytecode-Anweisungen sind mit den Java-Bytecode-Anweisungen identisch.
Compiled Android application code file.
Android-Programme werden in .dex
(Dalvik Executable) Dateien kompiliert , die wiederum in eine einzelne .apk
Datei auf dem Gerät komprimiert werden. .dex
Dateien können erstellt werden, indem kompilierte Anwendungen, die in der Programmiersprache Java geschrieben sind, automatisch übersetzt werden.
Dex-Dateiformat:
1. File Header
2. String Table
3. Class List
4. Field Table
5. Method Table
6. Class Definition Table
7. Field List
8. Method List
9. Code Header
10. Local Variable List
Android hat Dokumentation zu den Dalvik Executable Format
( .dex- Dateien). Weitere Informationen finden Sie in den offiziellen Dokumenten: Dex-Dateiformat
.dex
Dateien ähneln Java-Klassendateien, wurden jedoch unter der Dalkvik Virtual Machine (DVM) in älteren Android-Versionen ausgeführt und bei der Installation auf dem Gerät zu nativem Code mit ART in neueren Android-Versionen kompiliert.
Sie können decompile
.dex mit dem dexdump
Tool, das in android-sdk bereitgestellt wird.
Es gibt auch einige Reverse Engineering-Techniken , um eine jar file
oder java class file
aus einer .dex
Datei zu erstellen.