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
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();
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.