@Nordman99

Как удалить определенные разрешения проге?

Всем доброго дня!
Помогите начинающему реверс-инженеру, возникла необходимость у определённой проги подправить разрешения.
Дело в том что разрабы обновили свою прогу на плеймаркете, до обновления всё было хорошо а после обновления произошло вот что: недалекие разрабы решили что некоторые проги, которые уже как давно есть на плеймаркете и одобрены и ничего плохого в них нет, являются опасным ПО и при их наличии на телефоне эта прога после нехочет запускаться и приводит список ПО которое с телефона нужно удалить. Удалять я ничего из того что у меня есть ничего не собираюсь, всё нужно, и сама эта прога тоже нужна.
Хорошо думаю я, реверс-инжинирингом еще не занимался но уже наслышан он нём, пришла пора им занятся, скачиваю APK, перекидываю его на комп, декомпилирую, открываю AndroidManifest.xml
Вот что вижу в начале:

https://pastebin.com/Xz4PLz9t

Весь его приводить сюда думаю ненужно, все равно весь его тщательно тут изучать никто не станет )))
Так вот строки:
<package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>


Это как раз как оказалось список ПО с которым эта прога не хочет работать, так вот удалил эти строки:

<queries>
        <package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>
        <package android:name="com.xxx.xxx"/>
        <intent>
            <action android:name="android.intent.action.PICK"/>
            <data android:mimeType="vnd.android.cursor.dir/phone_v2"/>
        </intent>
        <intent>
            <action android:name="android.intent.action.MAIN"/>
        </intent>
        <package android:name="com.google.android.apps.maps"/>
    </queries>


удалил так же строки с разрешениями:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
    <uses-permission android:name="oppo.permission.OPPO_COMPONENT_SAFE"/>
    <uses-permission android:name="com.huawei.permission.external_app_settings.USE_COMPONENT"/> 
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>


Так же простой поиск в папке с декомпилированным APK по всем файлам на наличие содержания в них названий неодобренных прог выявил один из smali файлов в котором эти названия содержаться, примерно в таком виде:

https://pastebin.com/jSt6hmJb

На этом smali не заканчивается но весь его наверно опять же никто изучать тут не станет
В итоге строчки с названиями пакетов заменил на пустые кавычки типа:

const-string v2, "прога1"
const-string v3, "com.прога1"

заменил на

const-string v2, ""

const-string v3, ""
Потом также пробовал менять названия на фейковые, но результат остался тем же

Вообщем в итоге:

Скомпилировал измененный проект, подписал, закинул APK на телефон, предварительно удалил официальный вариант проги очистив весь её кэш, установил измененный APK, и вот что вышло:
Если интернет на телефоне отключен то прога запускается как мне и нужно - ничего "опасного" на телефоне не видит
Если потом, что перед запуском что после, интернет включить - она вдруг обнаруживает "опасное" ПО и выходит, а прога эта сама без интернета работать тоже не будет т.к. там личный кабинет, без интернета в ней нет смысла.
Пробовал и еще больше разрешений из AndroidManifest.xml вырезать - результат либо тот же либо вообще еще хуже - прога просто не может запуститься,
Т.е. такое ощущение что прога связывается с плеймаркетом чтоли, там ведь тоже хранится список установленного ПО на моём гугл аккаунте, или же связывается с сервером разрабов и сравнивает свои имеющиеся разрешения на разрешения в официальном варианте и как то восстанавливает свою правильную работу, подскажите можно ли как то допилить прогу чтобы она и с интернетом правильно как мне надо работала?
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 2
Zettabyte
@Zettabyte
Проф. восстановление данных ▪ Вопрос? См. профиль
Неясно какая программа доставляет мучения, но я бы просто снёс её и поставил более старую версию из .apk в обход маркета.

Без названия пакета неясно, но в целом ищите на apkmirror.com, 4pda, и xda-developers. На последних двух может найтись в т.ч. и свежая исправленная.
Ответ написан
074909
@074909
группа медленного нереагирования
Возьмите на apkpure.com предыдущую, не столь строгую версию, и не обновляйте это приложение
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы