โšก SwiftBackupPrem

An advanced Xposed / LSPosed module for Swift Backup that unlocks Premium features and enables isolated, custom Firebase backend integration.

Release Version License Android API Support Xposed / LSPosed Jetpack Compose Material 3


๐Ÿ“– Table of Contents


โœจ Features

  • ๐Ÿ”“ 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.json files.
  • ๐Ÿ’พ 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.

๐Ÿ“ฑ Compatibility & Prerequisites

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

๐Ÿš€ Installation & Activation

Method 1: Obtainium (Recommended)

Automatically download and receive updates by adding SwiftBackupPrem to Obtainium:

Get it on Obtainium

Or add the repository URL manually in Obtainium:

https://github.com/s1ddhants1/SwiftBackupPrem

Method 2: Manual Download

  1. Download: Grab the latest APK from the Releases page.
  2. Install: Install the APK on your rooted Android device.

Module Activation (LSPosed)

  1. Open LSPosed Manager.
  2. Navigate to the Modules tab and tap SwiftBackupPrem.
  3. Toggle Enable module.
  4. Ensure the scope includes Swift Backup (org.swiftapps.swiftbackup).
  5. Perform a quick reboot (or soft reboot) of your device.
  6. Open the SwiftBackupPrem app to configure custom Firebase credentials (recommended) or launch Swift Backup directly.

๐Ÿ”ฅ Custom Firebase Setup Guide

Why Use Your Own Firebase Instance?

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.


Video Walkthrough

Watch the complete step-by-step video guide below for visual reference:

โ–ถ Watch Firebase Setup Video Guide


Step 1: Create a Firebase Project

  1. Go to the Firebase Console.
  2. Click Add project (or Create a project).
  3. Enter a project name (e.g., SwiftBackup-Personal) and continue.
  4. Google Analytics can be disabled (optional) to speed up creation.
  5. Click Create project and wait for provisioning to finish.

Step 2: Set Up Realtime Database & Security Rules

  1. In your Firebase project sidebar, go to Build > Realtime Database.
  2. Click Create Database, select a region close to you (e.g., United States or Belgium), and choose Start in locked mode.
  3. Once created, switch to the Rules tab at the top.
  4. Replace the existing rules with the following user-isolated security rules:
{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}
  1. Click Publish to save the rules.
  2. Copy your Realtime Database URL from the Data tab (e.g., https://your-project-id-default-rtdb.firebaseio.com/).

Step 3: Configure Authentication

  1. In the Firebase sidebar, navigate to Build > Authentication.
  2. Click Get Started, then select the Sign-in method tab.
  3. Under Additional providers, select Google.
  4. 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.


Step 4: Register Android App & OAuth Client

  1. In Firebase Console, go to Project Settings (gear icon โš™๏ธ > Project settings).
  2. Under the Your apps section, click the Android icon (Add app).
  3. 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)
  4. Click Register app, then download the google-services.json file.
  5. 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.

  1. Open the Google Cloud API Credentials Console.
  2. Select your Firebase project at the top.
  3. Under OAuth 2.0 Client IDs, edit the auto-generated Android client for org.swiftapps.swiftbackup.
  4. Ensure Enable custom URI scheme is checked / enabled.

Enable custom URI scheme

  1. Copy the Client ID string (e.g., xxxxxxxxxxxx-xxxxxxxxxxxxxxxx.apps.googleusercontent.com).

Step 5: Enable Google Drive API & OAuth Scopes

If you plan to use Google Drive for cloud backups:

1. Enable Google Drive API

  1. Visit the Google Cloud Drive API Console.
  2. Select your Firebase / Google Cloud project at the top.
  3. Click Enable to allow Swift Backup to interact with Google Drive via your project.

2. Add Google Drive OAuth Scope

  1. Open the Google Cloud OAuth Scopes Console.
  2. Ensure your project is selected at the top.
  3. Navigate to Data Access > click Add or remove scopes.
  4. In the filter box, search for:
    https://www.googleapis.com/auth/drive.file
    
  5. Check / turn on the .../auth/drive.file scope.
  6. Click Update, then click Save (or Save and continue).

Step 6: Import or Enter Credentials in SwiftBackupPrem

  1. Open SwiftBackupPrem on your device.
  2. Enable Custom firebase app.
  3. 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.
  4. Tap Finish & Save.
  5. Tap Force Stop at the bottom to kill any running Swift Backup instances, then tap Open App.
  6. Sign in to Swift Backup with your Google account.

๐Ÿ”„ Configuration Export & Migration

  • 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.

๐Ÿ› ๏ธ Building from Source

Prerequisites

  • JDK 17 or higher
  • Android SDK with Platform 37 (compileSdk 37)
  • Android NDK (25.1.8937393 or higher) & CMake 3.22.1+

Build Steps

  1. Clone the repository:

    git clone https://github.com/s1ddhants1/SwiftBackupPrem.git
    cd SwiftBackupPrem
  2. Build debug APK:

    ./gradlew assembleDebug
  3. Build optimized release APK:

    ./gradlew assembleRelease

The built APK will be located in app/build/outputs/apk/release/app-release.apk.


โ“ Frequently Asked Questions (FAQ)

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:

  1. Verify that the SHA-1 fingerprint entered in Firebase Console matches your installed Swift Backup app (use the "Copy Fingerprint" button in SwiftBackupPrem).
  2. Ensure Enable custom URI scheme is checked in Google Cloud Console OAuth Client settings.
  3. Ensure Google Drive API is enabled and the .../auth/drive.file scope is added in Google Cloud Console if using Google Drive cloud backup.
  4. 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.


๐Ÿค Credits & Acknowledgements

  • 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.

โš–๏ธ License & Disclaimer

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.

Releases

2.3.1

Stable

8/20/2026, 3:16:29 PM

What's Changed in v2.3.1

  • ๐Ÿงฉ Modular Hook Architecture: Decoupled monolithic hooking logic into dedicated, isolated handlers (AuthBypass, PremiumFeature, FirebaseInit, TelemetrySuppression, ExitProtection) with cached DexKit bytecode resolution.
  • ๐ŸŽจ Modular Guided Setup Wizard: Deconstructed the 5-step setup wizard into independent, maintainable composable steps.
  • ๐Ÿ”‘ Random SHA-1 Fingerprint Generator: Reverted to generating random valid SHA-1 fingerprints in the setup wizard, preventing Google Cloud OAuth registration conflicts caused by duplicate SHA-1 certificates.
  • ๐Ÿ› ๏ธ Kotlin DSL & Build Tooling: Migrated the entire build configuration to Gradle Kotlin DSL (.gradle.kts) and upgraded Gradle Wrapper to v9.7.0.
  • ๐Ÿ“ฆ CI/CD Modernization: Upgraded GitHub Actions to Node 24 native versions and separated release builds (R8-optimized APK + ProGuard mapping) from debug artifacts.
  • ๐Ÿงช Expanded Test Coverage: Added comprehensive unit test suites covering configuration persistence, class resolution, telemetry suppression, and UI state flows.

Assets

1

2.3.0

Stable

8/17/2026, 3:15:52 PM

What's Changed in v2.3.0

โš™๏ธ Modern LibXposed API Migration

โ€ข LibXposed Modern Architecture: Migrated fully from the legacy Xposed API (api-82.jar) to the modern LibXposed API (io.github.libxposed:api:100) with unified hook interfaces and modern service integration.
โ€ข Framework Compatibility: Requires modern Xposed / LSPosed implementations (e.g. LSPosed, LSPosed Irena, Zygisk Next, etc.) that support modern LibXposed specifications.
โ€ข Active Connection Status Card: Added a real-time framework detection card to the UI dashboard showing whether the module is currently active and bound to the framework.
โ€ข Adaptive Settings Access: Dynamic access to settings controls based on active framework connectivity.

โœ‚๏ธ Removal of Auto Backup Feature

โ€ข Archiving & Auto Backup Stripped: Removed legacy automated module APK and configuration archiving logic and associated DexKit signature patterns.
โ€ข Leaner Core: Focused strictly on core premium unlocking, telemetry suppression, and custom Firebase backend synchronization to maximize performance, reliability, and minimize hook footprint.

โšก Optimizations & Enhancements

โ€ข Modular Firebase Configuration Engine: Fully refactored google-services.json parsing into a dedicated, clean, and isolated module with unit tests.
โ€ข Enhanced Configuration Import/Export: Added robust JSON schema validation, Firebase metadata preservation, and migration support for sbp_config.json.
โ€ข UI & Interaction Polish:
โ€ข Resolved Snackbar overlap issues on devices with gestures / bottom insets.
โ€ข Smoothed UI animations, background file processing feedback, and text field ergonomics.
โ€ข Performance & Codebase Hygiene: Refactored DexKit class scanning and removed legacy reflection artifacts for faster load times.


๐Ÿ“Œ Note on Maintenance Cycle

Final Release for Current Swift Backup Base: This is the final scheduled maintenance and feature release for the current Swift Backup version family. Future releases and updates are planned only when an upstream Swift Backup update introduces breaking changes requiring new DexKit mappings or hook adjustments.

Assets

1

2.2.0

Stable

8/16/2026, 6:22:32 PM

What's Changed in v2.2.0

  • Enable Premium Toggle: Added a master toggle to enable or disable premium features on-demand with active runtime state enforcement.
  • Disable Telemetry & Tracking: Added an option to block Firebase Analytics, Crashlytics, Sessions, Installations, and Google DataTransport.
  • Config Import / Export: Updated sbp_config.json import/export to include the new toggle settings.
  • UI & Layout: Reordered settings for better clarity and standardized Material 3 card styles.
  • Reliability & IPC: Improved XSharedPreferences reload handling and synchronous preference persistence across processes.

Assets

1

2.1.1

Stable

8/16/2026, 4:51:48 PM

What's Changed in v2.1.1 (Hotfix)

  • Fixed App Stuck on Splash Screen & System.exit Calls:
    • Neutralized System.exit and Runtime.exit traps that abruptly terminated the process on startup.
    • Added dedicated mapping and DexKit dynamic discovery for AuthUser (d45 in v5.1.0) and AnonUser (b45 in v5.1.0).
    • Ensured MFirebaseUser getters return a valid fallback user when null, preventing startup assertion aborts.
  • Fixed Premium Reverting When Custom Firebase is Off:
    • Mapped and hooked HomeViewModel (c64) to prevent Firebase purchase listener callbacks from resetting premium status.
    • Hooked SwiftApp's premium LiveData instance (SwiftApp.a / ex6) to permanently maintain active Premium state.
  • Enhanced DexKit Class Discovery: Robust fallback heuristics for obfuscated classes across multiple Swift Backup versions.
  • UI & Performance Refinements: Cleaner logging and improved startup reliability.

Assets

1

2.1.0

Stable

8/16/2026, 4:51:37 PM

What's Changed in v2.1.0

  • Swift Backup v5.1.0+ Compatibility: Updated obfuscated class search and DexKit hooks to support Swift Backup v5.1.0+.
  • UI Design Overhaul: Introduced an interactive Guided Setup Wizard inside a smooth accordion container for Firebase credentials, with Material 3 design throughout the app.
  • Quality of Life Tweaks:
    • Quick Action Bar: Added persistent Force Stop and Open App action buttons pinned at the bottom of the Settings screen.
    • Full Settings Backup: Configuration Export & Import now saves and restores all toggles (Enable premium features, Custom firebase app) alongside Firebase credentials.
  • Dedicated About Page: Added a standalone About screen featuring app details, version info, license details, and developer credits.

Assets

1