Давно хотел почитать и изучить способ «клонирования» одного и того же приложения на Android устройстве. В Xiaomi это встроенный функционал, но есть разные пути, как это можно сделать, например: VirtualApp, DualSpace, ParallelSpace и т.д.
Обязательно должно быть в этом механизме что-то, что позволит обойти защиту Android и получить доступ к данным «исходного» приложения, просто не может всё гладко пройти ?
И как раз в данной статье описывается, какие особенности при «клонировании» есть и как это может повлиять на безопасность.
Основной момент, при клонировании, UID в системе остаётся тем же, что и у оригинального приложения. А это значит, что все механизмы безопасности, основанные на этом идентификаторе можно обойти!
Как пример, в статье описывается работа с ключами шифрования и как их можно достать используя склонированное приложение (кстати, вначале неплохой кусок теории по разным провайдерам в Java и Android). По идее, помимо ключей шифрования, можно и к файлам оригинального приложения доступ получить! ?
Как вариант защиты — определять, что ты находишься в виртуальном окружении, которое создают программы «копировальщики». Автор даже либу написал для этого.
Это только первая статья из цикла, должно быть продолжение, которое я с удовольствием почитаю).