Защита от метарефлексии в Android 11

android

Android 11 will harden hidden API restrictions and remove meta-reflection bypass — небольшая заметка о появившемся в исходных кодах AOSP коммите, который запрещает доступ к скрытым методам с помощью метарефлексии.

Это продолжение истории, начавшейся с выпуском Android 9, в котором Google запретила доступ ко многим скрытым методам Android. Такие методы есть в операционной системе, но отсутствуют в SDK и документации, так что с помощью стандартного SDK их не вызвать, однако всегда можно было сделать это с помощью рефлексии. В Android 9 такой способ вызова перестал работать, но оказалось, что защиту можно обойти с помощью двойной рефлексии (или метарефлексии), когда вместо вызова метода самостоятельно приложение просит сделать это операционную систему:

Начиная с Android 11 этот способ также перестанет работать, но только в приложениях, собранных для API 30 и выше (targetSdk=30). Приложения, собранные для более ранних версий Android, смогут использовать рефлексию.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий