Инъекция приложений для Android

Можно ли внедрить приложение в другое после процесса установки?

Рассмотрим следующий пример: устройство D имеет root-права, а версия Android>= 5, что означает, что оно использует ART.

Приложение A устанавливается через "adb install App_A.apk". При первом запуске вызывается dex2oat и создается файл.oat для приложения A. Теперь моя цель - внедрить приложение B в приложение A, чтобы приложение B запускалось вместо приложения A. По другой причине файл.oat приложения B получает "кросс-скомпилированный" для устройства D. Какие части приложения A теперь необходимо заменить в приложении B, чтобы оно заработало?

Я думаю, что следующие шаги необходимы, но приложение все еще падает, когда я пытаюсь его запустить:

  • используйте то же имя пакета "com.example.app"
  • использовать то же имя приложения
  • Exchange AndroidManifest.xml
  • Exchange / Добавить папки res и lib и ресурсы.arsc
  • Обмен.oat файл
  • Используйте тот же ключ для подписания окончательного apk (в /data/app/App_A/base.apk) после обмена вышеуказанными частями

Насколько я понимаю, "classes.dex" не нужен, потому что файл oat уже присутствует. Так что по идее должно работать и с неработающим классом.dex?

Что мне здесь не хватает? Я также пытался следить за тем, что делает Android при запуске приложения (какие файлы были затронуты и т. Д.), Но на самом деле не смог за кадром:(Я был бы признателен за любую помощь. Большое спасибо!

С уважением

0 ответов

Другие вопросы по тегам