From 86d6a3eb88352bc0b1e348777f54ec7d35e2d2f0 Mon Sep 17 00:00:00 2001 From: TheSillyStever <215694488+TheSillyStever@users.noreply.github.com> Date: Thu, 11 Sep 2025 19:51:53 +0200 Subject: [PATCH] feat: add firebase createConnection to DB --- README.md | 15 +++++++-------- .../firebase_createConnection.smali-snippet | 2 ++ .../firebase_createConnection.smali-snippet | 11 +++++++++++ 3 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 patches/original/firebase_createConnection.smali-snippet create mode 100644 patches/patched/firebase_createConnection.smali-snippet diff --git a/README.md b/README.md index cb08626..14e19b5 100644 --- a/README.md +++ b/README.md @@ -23,12 +23,11 @@ * **Сбор личных данных**: Все методы `set...` для отправки PII (возраст, пол, email, телефон, ID соцсетей и т.д.) в `MyTrackerParams.smali` заменены на пустые. Они просто возвращают управление, ничего не делая. * **Сбор аналитики звонков**: Методы `send` и `forceSendScheduledEvents` в `ru/ok/android/externcalls/analytics/CallAnalyticsSender.smali` заменены на пустые. Это предотвращает сбор и отправку данных о ваших звонках. -* **Отчеты о сбоях и сессиях (Apptracer)**: Отключены функции отправки данных о сбоях (`fl6.smali`), трекинга сессий (`sbd.smali`) и загрузки "образцов" данных (`ru/ok/tracer/upload/SampleUploadWorker.smali`) на серверы `https://sdk-api.apptracer.ru`. Патчи для `dke.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`). Данные просто не уходят с устройства. -* **Системное логирование**: Основные методы логирования в классе, делегирующем вызовы логгеру `ir6` (различные уровни info, debug, warn, error), заменены на пустые. Это значительно снижает вероятность непреднамеренной утечки чувствительных данных через системные логи приложения. **Внимание**: имя файла и методов, отвечающих за логирование, может изменяться с каждой версией приложения, патчи названы как `NL_...`. Это экспериментальные патчи, и в будущем планируется автоматизировать их обнаружение. Патч может не сработать, если версия приложения не совпадает с версией патча. +* **Системное логирование**: Основные методы логирования в классе, делегирующем вызовы логгеру `d86` (различные уровни info, debug, warn, error), заменены на пустые. Это значительно снижает вероятность непреднамеренной утечки чувствительных данных через системные логи приложения. **Внимание**: имя файла и методов, отвечающих за логирование, может изменяться с каждой версией приложения, патчи названы как `NL_...`. Это экспериментальные патчи, и в будущем планируется автоматизировать их обнаружение. Патч может не сработать, если версия приложения не совпадает с версией патча. ## Как это работает @@ -61,14 +60,14 @@ Вы не должны доверять APK-файлам из интернета, включая мои. Поэтому вы можете (и должны) собрать его самостоятельно, используя открытый код этого репозитория. 1. Сделайте форк этого репозитория. -2. Закиньте свой апк макс в папку source_apk вместо моего!! (мой взят с https://apkcombo.com/downloader/#package=ru.oneme.app, 25.10.2 · Sep 10, 2025, extract xapk -> ru.oneme.app.apk) +2. Закиньте свой апк макс в папку source_apk вместо моего! (мой взят с https://apkcombo.com/downloader/#package=ru.oneme.app, 25.10.2 · Sep 10, 2025, extract xapk -> ru.oneme.app.apk) 3. Перейдите во вкладку "Actions" в вашем форке. 4. Найдите воркфлоу с названием "Build Patched APK" и запустите его (кнопка `Run workflow`). 5. После завершения работы (обычно 2-3 минуты), в артефактах сборки вы найдете zip-архив с готовым `patched-app-release.apk`. **Важно**: Так как приложение подписано другим ключом (не ключом разработчика), вам нужно будет **удалить оригинальную версию приложения** перед установкой этой. Обновить поверх не получится. -Если во время патчя в воркфлоу вы видете `[W] Unused patch pairs (X)` значит чтото пошло не так, ждите или попробуйте разобратся сами, но не рекоммендую использовать без патчей. +Если во время патчя в воркфлоу вы видете `[W] Unused patch pairs (X)` значит что не удалось найти сигнатуры методов/ чтото пошло не так, ждите или попробуйте разобратся сами, но не рекоммендую использовать без патчей. ### Настройки сборки (GitHub Actions) @@ -77,13 +76,13 @@ * **`permsRemoval` (Уровень удаления разрешений)** Эта настройка контролирует, какие разрешения будут удалены из файла `AndroidManifest.xml` приложения. Удаление разрешений повышает вашу приватность, но может привести к неработоспособности некоторых функций приложения. * **`none`**: Не удалять никаких разрешений. Будут применены только Smali-патчи. - * **`dangerous`**: Удаляет разрешения, которые напрямую и опасно вторгаются в вашу конфиденциальность (например, доступ к точному местоположению, управление аккаунтами, установка других приложений). Приложение, скорее всего, сохранит основную функциональность обмена сообщениями, но некоторые "удобные" функции будут недоступны. - * **`strict` (по умолчанию)**: Удаляет все "опасные"(dangerous) разрешения, а также те, которые позволяют приложению получать широкий доступ к вашим личным данным или ресурсам устройства (например, чтение контактов, доступ к камере, микрофону, хранилищу, биометрии, системным окнам). Это значительно повышает приватность, но может привести к потере значительной части функциональности, такой как отправка медиафайлов или совершение звонков. + * **`dangerous`** (по умолчанию): Удаляет разрешения, которые напрямую и опасно вторгаются в вашу конфиденциальность (например, доступ к точному местоположению, управление аккаунтами, установка других приложений). Приложение, скорее всего, сохранит основную функциональность обмена сообщениями, но некоторые "удобные" функции будут недоступны. + * **`strict`**: Удаляет все "опасные"(dangerous) разрешения, а также те, которые позволяют приложению получать широкий доступ к вашим личным данным или ресурсам устройства (например, чтение контактов, доступ к камере, микрофону, хранилищу, биометрии, системным окнам). Это значительно повышает приватность, но может привести к потере значительной части функциональности, такой как отправка медиафайлов или совершение звонков. * **`paranoid`**: (В разработке) Удаляет абсолютно все разрешения, включая доступ к интернету. Приложение будет полностью лишено любых прав на взаимодействие с вашей системой или сетью, что сделает его нефункциональным как мессенджер, но обеспечит максимальную конфиденциальность. * **`experimental` (Включить экспериментальные патчи Smali)** Эта настройка определяет, будут ли применены патчи, которые могут быть более агрессивными и потенциально вызывать нестабильность или сбои в работе приложения. - * **`true` (по умолчанию)**: Включает экспериментальные патчи. Сейчас это включает агрессивное отключение всей системы логирования (`iu7.smali`), которая может собирать внутренние данные приложения. + * **`true` (по умолчанию)**: Включает экспериментальные патчи. Сейчас это включает агрессивное отключение всей системы логирования (`d86.smali`), которая может собирать внутренние данные приложения. * **`false`**: Отключает экспериментальные патчи. Используйте эту опцию, если приложение с включенными экспериментальными патчами ведет себя нестабильно. ## Дисклеймер diff --git a/patches/original/firebase_createConnection.smali-snippet b/patches/original/firebase_createConnection.smali-snippet new file mode 100644 index 0000000..fc3d291 --- /dev/null +++ b/patches/original/firebase_createConnection.smali-snippet @@ -0,0 +1,2 @@ +@FileName("xn5") +.method public final c(Ljava/net/URL;Ljava/lang/String;)Ljava/net/HttpURLConnection; \ No newline at end of file diff --git a/patches/patched/firebase_createConnection.smali-snippet b/patches/patched/firebase_createConnection.smali-snippet new file mode 100644 index 0000000..eecdb9a --- /dev/null +++ b/patches/patched/firebase_createConnection.smali-snippet @@ -0,0 +1,11 @@ +.method public final c(Ljava/net/URL;Ljava/lang/String;)Ljava/net/HttpURLConnection; + .registers 3 + .param p1, "url" # Ljava/net/URL; + .param p2, "apiKey" # Ljava/lang/String; + + .prologue + .line 1 + const/4 v0, 0x0 + + return-object v0 +.end method \ No newline at end of file