0

Есть ли способ декомпилировать obfuscated файлы dex/jar в исходный код Java? У меня есть APK, в нем нет файла classes.dex, но у меня есть файл odex. Я пробовал использовать oat2dex и dex2jar для получения файлов dex/jar, а затем использовал несколько декомпиляторов для получения источника Java, но я либо получаю ошибки на некоторых частях, либо очень трудно читать код, так как он запутался.Декомпиляция запутанных файлов Android dex/jar в исходный код Java

Вот что я пытался

  • JD-GUI (первым я пытался что завершил декомпиляции, но с несколькими ошибками)
  • Fernflower (не смог завершить)
  • Процион (довольно хорошо, но с некоторыми ошибками)
  • CFR (лучше, но с некоторыми ошибками)
  • Jadx (лучше всего, с наименьшими ошибками, но код по-прежнему запутан и трудно читается, с несколькими классами/методами с одинаковыми случайными именами)

Что можно сделать для получения более читаемого кода?

+0

Почему вы декомпилируете запутанный код? Сделать это сложно, это цель инструментов обфускации. –

+0

Если есть хороший, я думаю, что люди перестанут запутывать свой код. –

+0

Могу ли я сказать, что решения нет? – user1118764

ответ

1

Нет никакого волшебного инструмента, который реорганизует весь ваш запутанный код во что-то содержательное и «чистое». Обфускационный код запутан: справляйтесь с ним.

Однако вы можете сохранить запутанный исходный код, создать проект с вашим предпочтительным идеалом (который поддерживает рефактор) и вручную проанализировать функции и переменные и реорганизовать их на что-то значимое. Это требует много времени, но в итоге вы получите почти чистый исходный код.

Смежные вопросы