Как правильно отлаживать разобранное приложение в android studio?
Всех приветствую!
По долгу профессии появилась необходимость реверс-инжиниринга андроид приложения. Увы, в андроид-разработке новичок, так что прошу отнестись с пониманием))
Итак, по шагам:
1) Взял 2 версии приложения: 1я из плей маркета (установил на телефон и собрал из него апк при помощи лаки патчера), 2я версия взята с pdalife.
2) Декомпилировал несколькими способами - dex2jar + jdgui + apktool, akptool online, dex2jar online.
3) Полученные файлы гурзил в android studio, пытался запустить на встроенном эмуляторе, но получал ошибки неправильной конфигурации, краши, и прочий страх и ужас.
Так же при импорте апк напрямую в android studio через Profile or debug apk получал краш приложения на эмуляторе.
Собственно сам вопрос: ̶ч̶т̶о̶ ̶и̶м̶е̶н̶н̶о̶ ̶я̶ ̶д̶е̶л̶а̶ю̶ ̶н̶е̶ ̶т̶а̶к̶ учитывая то, что судя по всему я делаю не так ровным счётом всё, прошу подсказать мне способ, при помощи которого мне стоит запустить на эмуляторе приложение для его модификации и отладки
Опять же просьба отнестись к новичку с пониманием, и не закидывать фекалиями всех видов и размеров)
ПС Заранее ОГРОМНЕЙШЕЕ спасибо за грамотные и полезные ответы:)
Реверс-инжиниринг, сам по себе занятие не для новичков. Декомпилятор выдает вам исходники, причем, если разработчик позаботился о защите своего приложения, то ужасно плохо читаемые (обфускация).
При этом, IDE (Android Studio) для сборки приложения, не достаточно этих исходников, нужна еще некоторая информация, которой у вас нет. Её нужно добавлять руками, анализируя полученные исходники.
Может конечно и существует легкий способ получить собираемый исходник, но лично мне такой не известен.
Сергей, спасибо за пояснение! Обфускация не пугает, ранее работал с подобным делом, но, увы, не андроид проектами. Подскажите пожалуйста, если не сложно, а какой именно информации не хватает? И всё-ли верно в моих предыдущих шагах? Можете носом ткнуть, что гуглить, а то я не могу понять(
Ещё раз спасибо!
kovarniy_zmiy, нужно анализировать ошибки, которые у вас возникают при попытке сбилдить проект.
Как вариант, можно создать новый проект и тянуть в него руками декомпилированные классы, разбираясь, что с чем связано.
У меня нет опыта в этом вопросе. Я никогда не пытался сбилдить декомпилировынный код, для моих целей мне хватало просто почитать его.