Есть ли способ заменить библиотеку внутри APK без исходного кода

Я занимаюсь исследованием некоторых http-библиотек, и мне пришлось изменить некоторые библиотеки. Часть исследования состоит в том, чтобы протестировать его в приложениях с закрытым исходным кодом, поэтому мне интересно, есть ли способ заменить библиотеку внутри приложения APK, не имея исходного кода приложения. Например, некоторые приложения используют библиотеку Okhttp3 в качестве http-клиента. Я внес некоторые изменения в Okhttp3, загрузив исходный код и скомпилировав его в виде jar-файла. Теперь я хочу знать, могу ли я сделать APK приложения с закрытым исходным кодом, использующим мою модифицированную версию Okhttp3 вместо официального okhttp3, включенного в APK приложения.


person DigitalPerson    schedule 15.10.2017    source источник


Ответы (1)


Сложный. Но я сделал аналогичную задачу, используя APK studio.

Студия APK декомпилирует классы Java в .smali файлов.

Сначала вы должны создать apk, который использует вашу новую библиотеку, а затем декомпилировать его с помощью APK Studio. Скопируйте папку библиотеки и замените ее в оригинальном apk. После этого, если повезет, вы сможете собрать apk из студии APK.

person Nabin Bhandari    schedule 15.10.2017
comment
Это звучит как отличная идея. Я думаю, это сработает. Я попробую. - person DigitalPerson; 15.10.2017