Задать вопрос

Можно ли восстановить исходники из apk?

Всем привет. Есть ли возможность восстановить исходники приложения из apk файла??
HDD приказал долго жить, унеся с собой исходники последнего приложения.
Уже пробовал dex2jar, и несколько онлайн декомпиляторов.
С онлайн декомпилятором все неоднозначно, затыкается на mainactivity ошибкой NullPointerExtention.
А dex2jar не дает ясности в декомпилированом коде.
  • Вопрос задан
  • 1474 просмотра
Подписаться 5 Простой 2 комментария
Решения вопроса 1
borisdenis
@borisdenis
Ленив и вреден...
Одного dex2jar мало

  1. Качаем dex2jar-0.0.9.8.zip (номер версии может изменяться) и извлекаем все файлы в желаемую папку, например D:\Decompile .
  2. Качаем Java Decompiler, я использовал JD-GUI и извлекаем файлы для удобства в ту же папку, куда и dex2jar.
  3. Качаем apktool и apktool-install-windows-r04-brut1.tar.bz2 и извлекаем файлы уже в системную папку. По умолчанию C:\Windows. (Не забываем скачать второй архив)
  4. Берем нужный apk файл и кладем в папку с dex2jar и Java Decompiler. В примере приведу декомпиляцию приложения Прикрепленный файлCalculator.zip ( 66,18 КБ )
  5. . (надо извлечь из архива).
  6. Открываем Командную строку (Обработчик команд Windows) в вышеупомянутой папке (В папке по пустому месте при зажатой кнопке Shift нажимаем правую кнопку мыши и выбираем Обработчик команд Windows).
  7. Вводим команду dex2jar Calculator.apk и если все прошло хорошо, в той же папке появится файл Calculator.apk.dex2jar.jar
  8. Запускаем jd-gui и открываем полученный на предыдущем шаге файл. (На Windows 7 открывать с правами администратора и с совместимостью Windows XP SP3)
  9. Выбираем пункт меню File-Save All Sources и сохраняем.
  10. Извлекаем полученный zip архив.
  11. Помещаем полученную папку в папку src (надо предварительно создать).(Что бы получилась примерно такая структура D:\Decompile\Calculator\src\com\android)
  12. Опять же в командной строке вводим команду apktool d Calculator.apk Calculator, где Calculator.apk-имя пакета, Calculator-папка для декомпиляции
  13. Если все хорошо, тогда в указанной папке будут исходники в двух форматах (java и smali), ресурсы и файлы AndroidManifest.xml, apktool.yml
  14. Все готово, исходники получены. Правда после декомпиляции в коде есть, можно сказать, ошибки, я заметил пока только что вместо true и false стоят 1 и 0 соответственно.


Взято с 4pda гуглится за пару секунд
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы