Будет ли удаление проверки подписи автоматически давать разрешение на выполнение? - PullRequest
0 голосов
/ 25 апреля 2019

Системные приложения получают свои разрешения без взаимодействия с пользователем, поскольку они подписаны тем же ключом, что и платформа.

android:sharedUserId="android.uid.system" - can be used in manifest

В моем случае, у меня нет доступа к ключам платформы, потому что диск от большого Sam Api 27+. Это подводит меня к моей проблеме. Как поступить?

Может ли отключение проверки подписи дать моей службе необходимые разрешения? Другое решение состоит в том, чтобы распаковать ROM с его .images и unsign и переписать каждое приложение внутри системы с моим, но это очень неуклюжее решение, потому что я не уверен, что подписывается, когда создается модифицированный AOSP ROM.

Устройство является рутируемым, но допускает модификации, не являющиеся конечной целью, которые могут нанести ущерб цели.

Я ищу указатели, куда погрузиться. Возможно, кто-то когда-то сталкивался с этой проблемой.

/// Удаление dm-verity не сработало. Это была глупая попытка, учитывая, что эта проверка только проверяет, изменилась ли целостность системы. Переподпись каждого apk внутри / system / app / не работала. Это сделало мой Android не в состоянии загружаться. Скорее всего, причина в том, что некоторые другие файлы подписи у меня не изменились.

1 Ответ

0 голосов
/ 04 июня 2019

Решение заключается в изменении метода проверки подписи внутри services.jar

У services.jar есть PackageManagerService.smali с методом CompareSignature.

.method static compareSignatures
    .locals 7
    const/4 v0, 0x0
    return v0
.end method

После изменения этого метода и перепаковки его обратно на мое устройство я создал приложение для тестирования, и ему были предоставлены разрешения, указанные выше. Самая важная особенность - системные разрешения, к которым у меня есть доступ. Все функции, которые имеют «Не для использования сторонними приложениями». отсюда https://android.izzysoft.de/applists/perms

Это единственный метод, который я нашел работать до сих пор без рута. Моим тестовым устройством был Samsung Galaxy S4 5.0.1. Я не знаю, работает ли оно на более новых устройствах.

...