An advanced Xposed / LSPosed module for Swift Backup that unlocks Premium features and enables isolated, custom Firebase backend integration.
- โจ Features
- ๐ฑ Compatibility & Prerequisites
- ๐ Installation & Activation
- ๐ฅ Custom Firebase Setup Guide
- Why Use Your Own Firebase Instance?
- Video Walkthrough
- Step 1: Create a Firebase Project
- Step 2: Set Up Realtime Database & Security Rules
- Step 3: Configure Authentication
- Step 4: Register Android App & OAuth Client
- Step 5: Enable Google Drive API
- Step 6: Import or Enter Credentials in SwiftBackupPrem
- ๐ Configuration Export & Migration
- ๐ ๏ธ Building from Source
- โ Frequently Asked Questions (FAQ)
- ๐ค Credits & Acknowledgements
- โ๏ธ License & Disclaimer
- ๐ Premium Toggle & Unlocking: Enables all Swift Backup Premium functionality on-demand without needing Google Play Store licensing, with active runtime state enforcement.
- ๐ซ Disable Telemetry & Tracking: Selectively blocks Firebase Analytics, Crashlytics, Sessions, Installations, and Google DataTransport tracking calls for maximum privacy.
- ๐ก๏ธ Custom Firebase Backend (Anti-Ban & Privacy): Directs Swift Backup to use your personal Firebase instance for user authentication and cloud synchronization metadata, eliminating reliance on the developer's shared backend.
- โก Dynamic DexKit Bytecode Scanning: Utilizes DexKit to dynamically locate obfuscated classes and methods at runtime across versions, ensuring robust compatibility with newer app updates.
- ๐จ Modern Material 3 UI: Clean user interface built with Jetpack Compose, edge-to-edge display, dynamic theme adaptation, and responsive layouts.
- ๐ง Interactive 5-Step Guided Wizard: In-app wizard with 1-click clipboard helpers (package name, SHA-1 signing fingerprint) and direct links to Firebase and Google Cloud consoles.
- ๐ฅ One-Tap JSON Import: Automatically parses and fills credentials directly from standard
google-services.jsonfiles. - ๐พ Configuration Export & Import: Easily backup or migrate your custom Firebase setup across devices using
sbp_config.json. - โก Quick Process Controls: One-tap Root Force Stop and Launch shortcuts directly inside the app.
| Requirement | Details |
|---|---|
| Root Solution | Magisk, KernelSU, or APatch |
| Xposed Framework | LSPosed (Zygisk / Riru) v1.9.0+ or compatible framework |
| Android Version | Android 8.1 (Oreo MR1 / API 27) up to Android 15 / 16 (API 37+) |
| Target Application | Swift Backup (org.swiftapps.swiftbackup) |
| Tested App Versions | v4.2.3, v4.2.5, v5.0.4, v5.1.0, and newer releases |
Automatically download and receive updates by adding SwiftBackupPrem to Obtainium:
Or add the repository URL manually in Obtainium:
https://github.com/s1ddhants1/SwiftBackupPrem
- Download: Grab the latest APK from the Releases page.
- Install: Install the APK on your rooted Android device.
- Open LSPosed Manager.
- Navigate to the Modules tab and tap SwiftBackupPrem.
- Toggle Enable module.
- Ensure the scope includes Swift Backup (
org.swiftapps.swiftbackup). - Perform a quick reboot (or soft reboot) of your device.
- Open the SwiftBackupPrem app to configure custom Firebase credentials (recommended) or launch Swift Backup directly.
By default, Swift Backup authenticates against the app developer's Firebase project. If the developer blocks or bans your account on their Firebase instance, cloud authentication and cloud sync in Swift Backup will stop working.
Connecting your own personal Firebase project gives you complete isolation, ensures data privacy, and prevents remote bans.
Watch the complete step-by-step video guide below for visual reference:
- Go to the Firebase Console.
- Click Add project (or Create a project).
- Enter a project name (e.g.,
SwiftBackup-Personal) and continue. - Google Analytics can be disabled (optional) to speed up creation.
- Click Create project and wait for provisioning to finish.
- In your Firebase project sidebar, go to Build > Realtime Database.
- Click Create Database, select a region close to you (e.g.,
United StatesorBelgium), and choose Start in locked mode. - Once created, switch to the Rules tab at the top.
- Replace the existing rules with the following user-isolated security rules:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}- Click Publish to save the rules.
- Copy your Realtime Database URL from the Data tab (e.g.,
https://your-project-id-default-rtdb.firebaseio.com/).
- In the Firebase sidebar, navigate to Build > Authentication.
- Click Get Started, then select the Sign-in method tab.
- Under Additional providers, select Google.
- Toggle Enable, choose a Project support email, and click Save.
Note
Firebase Cloud Storage is Optional (Skip if on Spark Plan)
Firebase Cloud Storage now requires a paid Blaze Plan (linked Cloud Billing account). You can safely skip enabling Cloud Storage in Firebase Console. Swift Backup does not store your backup files (APKs, app data, call logs) inside Firebase Storage. Firebase is only used for authentication and metadata synchronization. Your actual backups are stored in your configured cloud provider (Google Drive, WebDAV, Nextcloud, SMB, etc.) or local storage.
- In Firebase Console, go to Project Settings (gear icon โ๏ธ > Project settings).
- Under the Your apps section, click the Android icon (Add app).
- Enter the package details:
- Android package name:
org.swiftapps.swiftbackup(Tap "Copy Package" in SwiftBackupPrem wizard) - Debug signing certificate SHA-1: Paste your Swift Backup app SHA-1 fingerprint (Tap "Copy Fingerprint" in SwiftBackupPrem wizard)
- Android package name:
- Click Register app, then download the
google-services.jsonfile. - Click through the remaining setup steps until finished.
Important
Custom URI Scheme Requirement (Google Cloud Console)
Since October 2023, Google disables Custom URI schemes by default for new OAuth clients.
- Open the Google Cloud API Credentials Console.
- Select your Firebase project at the top.
- Under OAuth 2.0 Client IDs, edit the auto-generated Android client for org.swiftapps.swiftbackup.
- Ensure Enable custom URI scheme is checked / enabled.
- Copy the Client ID string (e.g.,
xxxxxxxxxxxx-xxxxxxxxxxxxxxxx.apps.googleusercontent.com).
If you plan to use Google Drive for cloud backups:
- Visit the Google Cloud Drive API Console.
- Select your Firebase project.
- Click Enable to allow Swift Backup to interact with Google Drive via your project.
- Open SwiftBackupPrem on your device.
- Enable Custom firebase app.
- Choose either method:
- Method A (Automatic): Tap Import google-services.json and pick the downloaded JSON file. Then paste your OAuth Client ID into the Client ID field.
- Method B (Manual Wizard): Follow the interactive 5-step guided wizard in the app to review and confirm all fields.
- Tap Finish & Save.
- Tap Force Stop at the bottom to kill any running Swift Backup instances, then tap Open App.
- Sign in to Swift Backup with your Google account.
- Export Config: Tap the top-right menu (โฎ) > Export Config to save your active configuration to a JSON file (
sbp_config.json). - Import Config: On a new device or fresh ROM install, tap Import Config to restore your settings in a single click.
- JDK 17 or higher
- Android SDK with Platform 37 (
compileSdk 37) - Android NDK (
25.1.8937393or higher) & CMake3.22.1+
-
Clone the repository:
git clone https://github.com/s1ddhants1/SwiftBackupPrem.git cd SwiftBackupPrem -
Build debug APK:
./gradlew assembleDebug
-
Build optimized release APK:
./gradlew assembleRelease
The built APK will be located in app/build/outputs/apk/release/app-release.apk.
Q: I see "LSPosed Module Not Enabled" in the app.
Make sure you have enabled SwiftBackupPrem inside LSPosed Manager, added Swift Backup (org.swiftapps.swiftbackup) to the module scope, and rebooted your device.
Q: Google Sign-In gives Error Code 10 / 12500.
This indicates an OAuth mismatch or missing permission:
- Verify that the SHA-1 fingerprint entered in Firebase Console matches your installed Swift Backup app (use the "Copy Fingerprint" button in SwiftBackupPrem).
- Ensure Enable custom URI scheme is checked in Google Cloud Console OAuth Client settings.
- Ensure Google Drive API is enabled in Google Cloud Console if using Google Drive cloud backup.
- Wait 5โ10 minutes after creating OAuth credentials for Google's servers to propagate changes.
Q: Do I need a paid Firebase Blaze plan for Cloud Storage?
No! The free Spark plan is 100% sufficient. Swift Backup only utilizes Firebase for authentication and metadata. You can leave Cloud Storage unconfigured.
Q: How does DexKit work in this module?
Swift Backup obfuscates its classes with ProGuard/R8 across different releases. Instead of hardcoding static class names that break on every update, DexKit inspects bytecode structures dynamically at runtime to locate the required hooks automatically.
- Juby210 โ Original creator and author of SwiftBackupPrem.
- s1ddhants1 โ Maintainer, Jetpack Compose Material 3 UI overhaul, guided setup wizard, and modernizations.
- LuckyPray/DexKit โ Powerful runtime DEX search and hooking engine.
- LSPosed โ ART hooking framework for modern Android.
This project is licensed under the MIT License.
Disclaimer: This project is intended strictly for personal, educational, and backup management purposes. Swift Backup is developed by SwiftApps. If you enjoy Swift Backup, consider supporting the official developers.
