Expand description
Implementation of a custom error-agnostic zip parser
The main purpose of this crate is to correctly unpack archives damaged using the BadPack technique.
Archives are read lazily from any seekable source (ZipEntry::open,
ZipEntry::from_reader, ZipEntry::new): only the central directory
is kept in memory, so a multi-gigabyte apk costs as much memory as the
entries actually requested.
§Example
let zip = ZipEntry::open("app.apk").expect("can't parse zip file");
let (data, compression_method) = zip.read("AndroidManifest.xml").expect("can't read manifest");Re-exports§
pub use anomaly::ZipAnomaly;pub use compression::*;pub use entry::*;pub use errors::*;pub use signature::*;
Modules§
- anomaly
- Structural anomalies of a
ziparchive. - compression
- Possible types of compression.
- entry
- Describes a
ziparchive - errors
- Errors returned by this crate.
- signature
- Describes signatures contained in the
APK Signature Block.