Добавлю, что уже выложенные пакеты в Play Market свой package ID менять не могут.
TL;DR: им не обязательно самим на TUN идти. Они могут “попросить” другие приложения.
Добавьте в правила любые приложения (их package ID), которые шпион способен вызвать из себя (например дефолтный браузер с указанной ссылкой) – он их может открыть либо через CustomTabsIntent, либо по кнопке “Open in browser” через Intent.ACTION_VIEW.
А вообще вроде как через ЛЮБОЙ браузер, который поддерживает это (а большинство поддерживают) можно вызвать URI через setPackage, даже через тот через который у вас VPN.
String url = "https://rkn-spy.ru";
String packageName = "com.android.chrome"; // браузер который идет через VPN
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setPackage(packageName);
startActivity(intent);
Ещё любые приложения с “Deep-links” (scheme://), способные выполнить GET запрос по URI.
Ну или совсем экзотический способ, приложение может под каким-либо предлогом создать ярлык на рабочем столе (через requestPinShortcut), ведущий на какой-либо безобидный сайт (причем диалоговое окно появится всего раз), а потом обновить ссылку на шпионский сайт с помощью updateShortcuts, при этом диалоговое окно снова не появится. И тоже вроде как указать конкретный браузер можно (через который у вас VPN), с помощью того же setPackage в Intent.
Иконку тоже можно обновить (через setIcon), например на Telegram, чтобы вы по неосторожности туда кликнули.
Поправьте, если что-то где-то не так.
Как пофиксить?
(Снизить поверхность атаки)
Я об этом везде талдычу, что это надёжный рабочий вариант, но народ отмахивается. Как-будто не понимают.
На десктопе это вообще ультимативный беспалевный вариант. На смартфоне не очень удобный, но пригодный. Цензоры будут видеть факт наличия прокси (должен быть запаролен), но не более.