![]() |
||
---|---|---|
.github/workflows | ||
patches | ||
scripts | ||
source_apk | ||
ANALYSIS.md | ||
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 самостоятельно.
Если уж устанавливать так с безопасностью!
Как это работает
Процесс полностью автоматизирован. Воркфлоу GitHub делает следующее:
- Декомпиляция: Оригинальный APK из этого репозитория распаковывается с помощью
apktool
. - Патчинг: Python-скрипт (
scripts/patcher.py
) находит и заменяет участки Smali-кода, отвечающие за сбор данных, на "пустышки". Патчи находятся в папкеpatches
. - Сборка: Модифицированные файлы собираются обратно в APK с помощью
apktool
. - Выравнивание и Подпись: APK выравнивается (
zipalign
) и подписывается временным ключом, который генерируется во время сборки.
Что конкретно делает патч?
Патч отключает ключевые шпионские функции SDK my.tracker
и другие аналитические модули (список пополняется):
- Сбор личных данных: Все методы
set...
для отправки PII (возраст, пол, email, телефон, ID соцсетей и т.д.) вMyTrackerParams.smali
заменены на пустые. Они просто возвращают управление, ничего не делая. - Сбор аналитики звонков: Методы
send
иforceSendScheduledEvents
вru/ok/android/externcalls/analytics/CallAnalyticsSender.smali
заменены на пустые. Это предотвращает сбор и отправку данных о ваших звонках. - Проверка на root-доступ: Функция проверки (
obfuscated/r$a.smali
) всегда возвращаетfalse
, так что трекер думает, что у вас нет root-прав. - Сбор списка установленных приложений: Функция (
obfuscated/f.smali
) теперь всегда возвращает пустой список. - Отправка данных: Все сетевые запросы к серверам трекера (
tracker-api.vk-analytics.ru
) блокируются на уровне кода (obfuscated/b0.smali
иm0.smali
). Данные просто не уходят с устройства. - Системное логирование: Основные методы логирования в
g47.smali
(различные уровни info, debug, warn, error) заменены на пустые. Это значительно снижает вероятность непреднамеренной утечки чувствительных данных через системные логи приложения. ИМЯ ФАЙЛА И МЕТОДОВ ИЗМЕНЯЕТСЯ С КАЖДОЙ ВЕРСИИ, СЕЙЧАС ЕЩЁ МАНУАЛЬНО ОБНОВЛЯЮ НО В БУДУЩЕМ ПЛАНИРУЮ АВТОМАТИЗИРОВАТЬ. Патчи называются hm9... (Так было в первой версии)
Доказательства
Я приложу скриншоты из JEB Pro, которые показывают код до и после применения патча на примере методов. Это демонстрирует, как опасный код заменяется на "пустышку".
До (Оригинальный код MyTrackerParams
):
После (Код после патча):
Или например:
До (Оригинальный код b0.smali (HttpURLConnection)
):
После (Код после патча):
Как собрать APK самостоятельно
Вы не должны доверять APK-файлам из интернета, включая мои. Поэтому вы можете (и должны) собрать его самостоятельно, используя открытый код этого репозитория.
- Сделайте форк этого репозитория.
- Закиньте свой апк макс в папку source_apk вместо моего!! (мой взят с https://apkcombo.com/downloader/#package=ru.oneme.app, 25.9.0 · Aug 25, 2025, extract xapk -> ru.oneme.app.apk)
- Перейдите во вкладку "Actions" в вашем форке.
- Найдите воркфлоу с названием "Build Patched APK" и запустите его (кнопка
Run workflow
). - После завершения работы (обычно 2-3 минуты), в артефактах сборки вы найдете zip-архив с готовым
patched-app-release.apk
.
Важно: Так как приложение подписано другим ключом (не ключом разработчика), вам нужно будет удалить оригинальную версию приложения перед установкой этой. Обновить поверх не получится.
Дисклеймер
Этот проект создан исключительно в образовательных и исследовательских целях для демонстрации техник обратной инженерии и автоматизации. Он не связан с разработчиками оригинального приложения. Вы используете его на свой страх и риск.