Skip to main content

Crate apk_info_zip

Crate apk_info_zip 

Source
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 zip archive.
compression
Possible types of compression.
entry
Describes a zip archive
errors
Errors returned by this crate.
signature
Describes signatures contained in the APK Signature Block.

Traits§

ReadSeek
A seekable byte source that a ZipEntry reads lazily from.