Skip to content

Latest commit

 

History

History
47 lines (33 loc) · 1.42 KB

README.md

File metadata and controls

47 lines (33 loc) · 1.42 KB

abootimg-oxide

Crates.io Documentation

Android boot image (boot.img) parser written in Rust

Thank you to cfig/Android_boot_image_editor's documentation about the layout of boot images!

TODO: reimplement mkbootimg

Examples

use std::fs::File;
use abootimg_oxide::{BufReader, Header};

let mut r = BufReader::new(File::open("boot_a.img").unwrap());
let hdr = Header::parse(&mut r).unwrap();
println!("{hdr:#?}");

// Extract the kernel
use std::io::{self, BufWriter, Read, Seek, SeekFrom};

let mut w = BufWriter::new(File::create("boot_a_kernel").unwrap());
let r = r.get_mut();
r.seek(SeekFrom::Start(hdr.kernel_position() as u64))
    .unwrap();
io::copy(&mut r.take(hdr.kernel_size() as u64), w.get_mut()).unwrap();

License

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.