¶
Fast, malware-robust parser for Android apk/xapk/apkm/apks files. Written in Rust, with a CLI and typed Python bindings.
Then point it at an APK:
$ apk-info show apkstest.apk
apkstest.apk
Package io.github.delvinru.apkstest
Label APKS Test
Version 1.0.7 (7)
SDK min 21 · target 35
Main activity io.github.delvinru.apkstest/.MainActivity
ABIs x86_64
What it handles¶
Tampered archives Reads APKs built with the BadPack technique: fake compression methods, mismatched headers, fake EOCD records. A broken resource table doesn't stop the manifest, DEX files or signatures from being read.
Signatures v1 to v3.2 certificates, source stamps, Walle, VasDolly, Packer-NG and ByteDance channels, Google Play Frosting. See Signatures.
Manifest and resources Full AXML and ARSC parsers, resource resolution, apktool-style decoding, and the main activity resolved the way Android does it.
Split containers XAPK, APKM and APKS open through their base APK; resources of all splits decode into one tree. See XAPK, APKM and APKS.
Speed On one thread, 34× faster than androguard on clean apps and 8× on 23,745 malware samples, with a fraction of its memory. See Benchmarks.
Read-only
Never modifies, signs or decompiles anything. repack writes a clean copy of a damaged archive so other tools can open it.
Next¶
- Quickstart: the same task with the CLI, Python and Rust.
- Guides: manifest, components, signatures, files, containers, malformed APKs, batch processing.
- CLI reference and Python API. The Rust API is on docs.rs.