Skip to content

DeviceIntelligence 2.1.0 — App Bundle (AAB) integrity

Choose a tag to compare

@iamjosephmj iamjosephmj released this 29 Jun 09:29
· 86 commits to main since this release

DeviceIntelligence 2.1.0

App Bundle (AAB) bundle-mode integrity

The build-baked tamper detection now works when an app ships as an Android App Bundle through Google Play (previously APK-only — an AAB build silently lost / false-positived the integrity core under Play's re-split / re-encode / re-sign).

  • Opt-in DSL: deviceIntelligence { appBundle { enabled = true; playSigningCertSha256("AB:CD:…") } } — default off; the APK path is byte-for-byte unchanged.
  • Pins a signer allow-set (upload cert ∪ Play app-signing cert) checked by membership, and decompressed SHA-256 of classes*.dex + lib/<abi>/*.so (stable across Play's re-encode), verified across the base APK + all installed config splits.
  • BundleIntegrityTask bakes the fingerprint into the .aab and re-signs it (JDK JarSigner; no bundletool dependency); native NDK-zlib streaming inflate for decompressed hashing.
  • Fingerprint schema bumped to v3 (additive; v1/v2 still decode).
  • Validated on-device via real bundletool split delivery: clean install → no false positives; tampered split → apk_entry_modified CRITICAL.

License

Relicensed to Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0) (was Apache-2.0). Commercial use and verbatim redistribution permitted with attribution; redistributing modified copies is not.

Distributed via JitPack (built from this tag).