👋🧩 iPusnas Patches

August 17, 2026 · View on GitHub

Morphe patches for the iPusnas digital library app (mam.reader.ipusnas, v2.1.4).

❓ About

A set of patches that improve privacy and add a "Save to Downloads" feature to the iPusnas e-reader app. These patches are applied with Morphe and are based on the manual smali modding pipeline documented in research/docs/modifications.md.

🩹 Patches list

v1.0.0  •  main  •  6 patches total

📦 iPusnas  •  6 patches

🎯 Supported versions:

2.1.4
💊 Patch📜 Description⚙️ Options
Bypass Play Store redirectMakes the PairIP license check pass for sideloaded installs so the app no longer redirects to the Play Store and closes.
Disable Firebase Analytics and FCMDisables Google Firebase Analytics tracking and removes Firebase Cloud Messaging push notifications.
Neuter Telegram security breach reporterStops the app from reporting security breaches or APK integrity failures to the developers' Telegram channel.
Remove certificate pinningRemoves the hard-coded OkHttp certificate pins and SSL pinning interceptor so the app trusts system and user CAs.
Remove screenshot restrictionDisables the FLAG_SECURE window flag in the PDF and EPUB readers so screenshots and screen recordings are allowed.
Save book to DownloadsAdds a menu option that downloads, decrypts, and saves the book as a readable PDF or EPUB in the public Downloads folder.

🚀 Getting development started

  1. Setup your development environment, including a GitHub PAT with read:packages scope (used to resolve the app.morphe.patches Gradle plugin). Add it to ~/.gradle/gradle.properties as gpr.user / gpr.key or export GITHUB_ACTOR / GITHUB_TOKEN. An Android SDK is also required (local.properties with sdk.dir=...).
  2. Build the patch bundle:
    ./gradlew buildAndroid
    # Output: patches/build/libs/patches-*.mpp
    
  3. Apply it with Morphe-Desktop like any other patch bundle.

🛠️ Verifying against a real APK

A small harness applies every patch to a real APK and reports whether each fingerprint matched:

./gradlew :patches:verifyPatches --args="path/to/base.apk build/verify-output"

📜 License

GPLv3 — see LICENSE.