декомпилиране на DEX в изходния код на Java
Как може да се декомпилират файловете DEX (VM байткод) на Android в съответния изходен код на Java?
695
3
Как може да се декомпилират файловете DEX (VM байткод) на Android в съответния изходен код на Java?
Лесно е
Вземете тези инструменти:
dex2jar за превеждане на dex файлове в jar файлове
jd-gui за преглед на java файловете в jar
Изходният код е доста четим, тъй като dex2jar прави някои оптимизации.
Процедура:
Ето и процедурата за декомпилиране:
Стъпка 1:
Конвертиране на classes.dex в test_apk-debug.apk в test_apk-debug_dex2jar.jar
документация на dex2jar
Стъпка 2:
Отваряне на jar в JD-GUI
Всъщност бих препоръчал да отидете тук: https://github.com/JesusFreke/smali
Той предоставя BAKSMALI, който е най-прекрасният инструмент за обратно инженерство за DEX файлове. Направен е от JesusFreke, човекът, който създаде прочутите ROM-и за Android.
С помощта на Dedexer можете да разглобите файла
.dex
в Dalvik байткод (.ddx
).Доколкото ми е известно, декомпилирането към Java не е възможно.
Можете да прочетете за dalvik bytecode тук.