Идея была давно, даже до темы с обнаружением диффа 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 в аналитике не добавляется их же логикой)
Установка
- Скачиваем менеджер патчей Releases · MorpheApp/morphe-manager · GitHub
- Переходим по ссылке Add Source - Morphe , которая перенаправит в менеджер и добавит эти патчи
- Нажимаем на появившуюся иконку приложения Max
- Скачиваем нужную версию с APKMirror (сам менеджер проведет до этого)
- Выбираем скачанный APK в том же меню и начинаем стандартную установку (приложение установленное придется удалить. С рутом установка поверх позволит не удалять)
- Устанавливаем пропатченное приложение через менеджер
Дальнейшие планы
- Внедренная страница настроек для конфигурации патчей, типа прописать свой IP чекер, включить определенный функционал
- Отключить зондирование за счет пользователей. Все RU-сервисы, доступность которых они проверяют - доступны, остальное - недоступно
- Подмена остальных данных в аналитике (симка, определение рута, включенного vpn в системе)
- Расширение браузера с белым списком запросов для исключения такого же “пробива” IP
Также будут анализироваться другие приложения. После этой методички… Сомнений во внедрении не остается
Возможные вопросы
Почему просто не заюзать кастомный клиент?
Дальнейшие ужесточения легко предугадать: нас ждут блокировки аккаунтов с неофициальными клиентами (особенно если тема расхайпится). Обнаруживается необычайно просто - трафик идет как-нибудь не так; много запросов вырезано/не реализовано; правильную последовательность отследить сложно; принудительные обновления, которые не учтет кастом; динамические DEX с сервера; максимально сложная разработка с раскопками в реверснутом коде.
Я пытался найти нормальный диффер кода по сигнатурам, но ничего не заточено под Dalvik, а это еще даже не коммерческие обфускаторы со специальным запутыванием, просто дефолтный R8
Почему бы просто не вырезать всю аналитику и метрику из приложения? Зачем эти подмены?
Тот же самый детект отличающегося поведения. Мы должны иммитировать законопослушных гражданинов для избежания банов и привлечения внимания. Пусть оно отправляет фейковые данные, настроить это все будет можно
Так проще же сделать два узла и WARP на конце
Это и есть текущий метод борьбы с блокировкой IP, но это все равно выявляет использование VPN. Законодательство не статичное. Просто готовимся к худшему, надеемся на лучшее
Даже если это настроят те, кто шарит, то остаются еще много юзеров, которые запалят этим чьи-то подсети. Страдать будут все