[Morphe] Патчинг RU-софта: вычищаем детекты VPN и телеметрию

Идея была давно, даже до темы с обнаружением диффа IP в чмаксе, просто патчить было нечего. Ну собирают они мою модель телефона, и что? Но сейчас ставки повышаются. Мы видим внедрение детектов (тот же поиск различий в IP при роутинге), а на фоне разговоров о принудительном переводе всей страны на RU-софт (от бюджетников до получения банковских кодов) и блокировок VPN не надо. В общем, мотивация появилась

Репозиторий с патчами для Max: GitHub - RealCyberwash/max-patches · GitHub

Что реализовано

  • Изменен механизм определения IP. Приложение использует только один чекер - https://ipv4-internet.yandex.net/api/v0/ip (может возвращать 127.0.0.1 из-за дефолтного юзер-агента Dalvik, в этом случае IP в аналитике не добавляется их же логикой)

Установка

  1. Скачиваем менеджер патчей Releases · MorpheApp/morphe-manager · GitHub
  2. Переходим по ссылке Add Source - Morphe , которая перенаправит в менеджер и добавит эти патчи
  3. Нажимаем на появившуюся иконку приложения Max
  4. Скачиваем нужную версию с APKMirror (сам менеджер проведет до этого)
  5. Выбираем скачанный APK в том же меню и начинаем стандартную установку (приложение установленное придется удалить. С рутом установка поверх позволит не удалять)
  6. Устанавливаем пропатченное приложение через менеджер

Дальнейшие планы

  • Внедренная страница настроек для конфигурации патчей, типа прописать свой IP чекер, включить определенный функционал
  • Отключить зондирование за счет пользователей. Все RU-сервисы, доступность которых они проверяют - доступны, остальное - недоступно
  • Подмена остальных данных в аналитике (симка, определение рута, включенного vpn в системе)
  • Расширение браузера с белым списком запросов для исключения такого же “пробива” IP

Также будут анализироваться другие приложения. После этой методички… Сомнений во внедрении не остается

Возможные вопросы

Почему просто не заюзать кастомный клиент?

Дальнейшие ужесточения легко предугадать: нас ждут блокировки аккаунтов с неофициальными клиентами (особенно если тема расхайпится). Обнаруживается необычайно просто - трафик идет как-нибудь не так; много запросов вырезано/не реализовано; правильную последовательность отследить сложно; принудительные обновления, которые не учтет кастом; динамические DEX с сервера; максимально сложная разработка с раскопками в реверснутом коде.

Я пытался найти нормальный диффер кода по сигнатурам, но ничего не заточено под Dalvik, а это еще даже не коммерческие обфускаторы со специальным запутыванием, просто дефолтный R8

Почему бы просто не вырезать всю аналитику и метрику из приложения? Зачем эти подмены?

Тот же самый детект отличающегося поведения. Мы должны иммитировать законопослушных гражданинов для избежания банов и привлечения внимания. Пусть оно отправляет фейковые данные, настроить это все будет можно

Так проще же сделать два узла и WARP на конце

Это и есть текущий метод борьбы с блокировкой IP, но это все равно выявляет использование VPN. Законодательство не статичное. Просто готовимся к худшему, надеемся на лучшее

Даже если это настроят те, кто шарит, то остаются еще много юзеров, которые запалят этим чьи-то подсети. Страдать будут все

как будто бы есть универсальный патч вырезанья определения флага vpn в системе

согласно логике уже должно помочь отключить другие проверки (на первый взгляд)

ну и в целом, правильное недоверие тем борзописцам ты предлагаешь заменить верой создавателям таких вот патчей?

Исходный код открыт. Недоверия к клиентам нет, только предугадывание дальнейших ужесточений, я так же не стал тратить время на разработку своего с нуля. Патчинг делается в 100 раз быстрее

а для Windows будет