Android Runtime Resource Overlay (ARRO) — механизм, который позволяет приложению модифицировать собственные ресурсы и ресурсы других приложений на лету. В основном ARRO пользуются разработчики ОС для создания системных оверлеев для системных приложений. Однако и обычные приложения могут воспользоваться преимуществами оверлеев ресурсов.
В рамках доклада мы разберем:
* как работают оверлеи ресурсов под капотом;
* рассмотрим, как изменять ресурсы приложения на лету без необходимости повторной компиляции;
* реализуем обфускацию ресурсов приложения;
* разберем возможные векторы атак на мобильные приложения с использованием оверлеев ресурсов;
* поисследуем ОС и рассмотрим, как можно запретить установку своего приложения на определенных устройствах;
* разберем баг в ОС, позволяющий удалять свое приложение без взаимодействия с пользователем.