![]() |
||
---|---|---|
.github/workflows | ||
manifests | ||
patches | ||
scripts | ||
source_apk | ||
README.md |
README.md
max-patcher-privacy - Патч для приватности
Этот проект содержит автоматизированный патч для удаления шпионского SDK my.tracker
(и другие логгеры) из приложения max.
Готовый апк файл в https://github.com/TheSillyStever/max-patcher-privacy/actions (наверное не тестированный)
Если есть проблемы или предложения? создайте пост!. Хотите добавить что-то своё? Пул-реквесты всегда открыты!
О проекте
В связи с требованием о предустановке ПО, это приложение поставляется на многих устройствах. Внутри него находится трекеры, включая my.tracker
(принадлежит VK), который собирает огромное количество данных о пользователе и устройстве.
Цель этого проекта предоставить версию приложения, в которой шпионские функции трекера полностью отключены. Процесс полностью автоматизирован с помощью GitHub Actions, и вы можете собрать APK самостоятельно.
Если уж устанавливать так с безопасностью!
Что конкретно делает патч?
Патч отключает ключевые шпионские функции SDK my.tracker
и другие аналитические модули (список пополняется):
- Сбор личных данных: Все методы
set...
для отправки PII (возраст, пол, email, телефон, ID соцсетей и т.д.) вMyTrackerParams.smali
заменены на пустые. Они просто возвращают управление, ничего не делая. - Сбор аналитики звонков: Методы
send
иforceSendScheduledEvents
вru/ok/android/externcalls/analytics/CallAnalyticsSender.smali
заменены на пустые. Это предотвращает сбор и отправку данных о ваших звонках. - Отчеты о сбоях и сессиях (Apptracer + Firebase): Отключены функции отправки данных о сбоях (
fl6.smali
), трекинга сессий (sbd.smali
) и загрузки "образцов" данных (ru/ok/tracer/upload/SampleUploadWorker.smali
) на серверыhttps://sdk-api.apptracer.ru
. Патчи дляdke.smali
также предотвращают инициацию этих процессов. - Проверка на root-доступ: Функция проверки (
obfuscated/r$a.smali
) всегда возвращаетfalse
, так что трекер думает, что у вас нет root-прав. - Сбор списка установленных приложений: Функция (
obfuscated/f.smali
) теперь всегда возвращает пустой список. - Отправка данных (MyTracker): Все сетевые запросы к серверам трекера (
tracker-api.vk-analytics.ru
) блокируются на уровне кода (obfuscated/b0.smali
иm0.smali
). Данные просто не уходят с устройства. - Системное логирование: Основные методы логирования в классе, делегирующем вызовы логгеру
d86
(различные уровни info, debug, warn, error), заменены на пустые. Это значительно снижает вероятность непреднамеренной утечки чувствительных данных через системные логи приложения. Внимание: имя файла и методов, отвечающих за логирование, может изменяться с каждой версией приложения, патчи названы какNL_...
. Это экспериментальные патчи, и в будущем планируется автоматизировать их обнаружение. Патч может не сработать, если версия приложения не совпадает с версией патча.
Как это работает
Процесс полностью автоматизирован. Воркфлоу GitHub делает следующее:
- Декомпиляция: Оригинальный APK из этого репозитория распаковывается с помощью
apktool
. - Патчинг: Python-скрипт (
scripts/patcher.py
) находит и заменяет участки Smali-кода, отвечающие за сбор данных, на "пустышки". Патчи находятся в папкеpatches
. - Сборка: Модифицированные файлы собираются обратно в APK с помощью
apktool
. - Выравнивание и Подпись: APK выравнивается (
zipalign
) и подписывается временным ключом, который генерируется во время сборки.
Доказательства
Я приложу скриншоты, которые показывают код до и после применения патча на примере методов. Это демонстрирует, как опасный код заменяется на "пустышку".
До (Оригинальный код MyTrackerParams
):
После (Код после патча):
Или например:
До (Оригинальный код b0.smali (HttpURLConnection)
):
После (Код после патча):
Это видео показывает эффективность патча. Как вы можете видеть в GIF-файле, после запуска приложения и ввода номера телефона, монитор сетевого трафика (слева) остается практически пустым. Присутствуют только запросы от самого эмулятора и официальной аналитики Google. Это служит доказательством того, что патч успешно блокирует все исходящие запросы к шпионским SDK, таким как my.tracker (VK) и другим модулям сбора данных вроде Firebase, обеспечивая тем самым вашу приватность.
Как собрать APK самостоятельно
Вы не должны доверять APK-файлам из интернета, включая мои. Поэтому вы можете (и должны) собрать его самостоятельно, используя открытый код этого репозитория.
- Сделайте форк этого репозитория.
- Закиньте свой апк макс в папку source_apk вместо моего! (мой взят с https://apkcombo.com/downloader/#package=ru.oneme.app, 25.10.2 · Sep 10, 2025, extract xapk -> ru.oneme.app.apk)
- Перейдите во вкладку "Actions" в вашем форке.
- Найдите воркфлоу с названием "Build Patched APK" и запустите его (кнопка
Run workflow
). - После завершения работы (обычно 2-3 минуты), в артефактах сборки вы найдете zip-архив с готовым
patched-app-release.apk
.
Важно: Так как приложение подписано другим ключом (не ключом разработчика), вам нужно будет удалить оригинальную версию приложения перед установкой этой. Обновить поверх не получится.
Если во время патчя в воркфлоу вы видете [W] Unused patch pairs (X)
значит что не удалось найти сигнатуры методов/ чтото пошло не так, ждите или попробуйте разобратся сами, но не рекоммендую использовать без патчей.
Настройки сборки (GitHub Actions)
При запуске воркфлоу "Build Patched APK" вы увидите несколько настроек:
-
permsRemoval
(Уровень удаления разрешений) Эта настройка контролирует, какие разрешения будут удалены из файлаAndroidManifest.xml
приложения. Удаление разрешений повышает вашу приватность, но может привести к неработоспособности некоторых функций приложения.none
: Не удалять никаких разрешений. Будут применены только Smali-патчи.dangerous
(по умолчанию): Удаляет разрешения, которые напрямую и опасно вторгаются в вашу конфиденциальность (например, доступ к точному местоположению, управление аккаунтами, установка других приложений). Приложение, скорее всего, сохранит основную функциональность обмена сообщениями, но некоторые "удобные" функции будут недоступны.strict
: Удаляет все "опасные"(dangerous) разрешения, а также те, которые позволяют приложению получать широкий доступ к вашим личным данным или ресурсам устройства (например, чтение контактов, доступ к камере, микрофону, хранилищу, биометрии, системным окнам). Это значительно повышает приватность, но может привести к потере значительной части функциональности, такой как отправка медиафайлов или совершение звонков.paranoid
: (В разработке) Удаляет абсолютно все разрешения, включая доступ к интернету. Приложение будет полностью лишено любых прав на взаимодействие с вашей системой или сетью, что сделает его нефункциональным как мессенджер, но обеспечит максимальную конфиденциальность.
-
experimental
(Включить экспериментальные патчи Smali) Эта настройка определяет, будут ли применены патчи, которые могут быть более агрессивными и потенциально вызывать нестабильность или сбои в работе приложения.true
(по умолчанию): Включает экспериментальные патчи. Сейчас это включает агрессивное отключение всей системы логирования (d86.smali
), которая может собирать внутренние данные приложения.false
: Отключает экспериментальные патчи. Используйте эту опцию, если приложение с включенными экспериментальными патчами ведет себя нестабильно.
Дисклеймер
Этот проект создан исключительно в образовательных и исследовательских целях для демонстрации техник обратной инженерии и автоматизации. Он не связан с разработчиками оригинального приложения. Вы используете его на свой страх и риск.