insert file in zip

This commit is contained in:
Jean-Marie Mineau 2024-01-19 16:41:59 +01:00
parent 3f521b5754
commit 7b6a5980c8
Signed by: histausse
GPG key ID: B66AEEDA9B645AD2
6 changed files with 210 additions and 8 deletions

View file

@ -1,11 +1,13 @@
use apk_frauder::file_header::FileHeader;
use apk_frauder::ZipFileReader;
use apk_frauder::ZipFileWriter;
use std::fs::File;
use std::io::Cursor;
fn main() {
let file = File::open("app-release.apk").expect("failed to open file");
//let file = File::open("app-release.apk").expect("failed to open file");
//let file = File::open("tst_64.zip").expect("failed to open file");
let zip_file = ZipFileReader::new(file);
//let zip_file = ZipFileReader::new(file);
/*
//println!("{}", zip_file.get_file_names().join("\n"));
for file in &zip_file.files {
@ -35,7 +37,7 @@ fn main() {
}
zip_file.check_holes();
*/
println!("{:#?}", zip_file.get_file_info("classes.dex"));
//println!("{:#?}", zip_file.get_file_info("classes.dex"));
/*
let file = File::open("tst_64.zip").expect("failed to open file");
@ -49,4 +51,17 @@ fn main() {
out_file.write_central_directory();
*/
//println!("{:#?}", zip_file.zip64_end_of_central_directory);
let out_file = File::create("test_write.zip").expect("failed to create file");
let mut out_file = ZipFileWriter::new(out_file, None);
out_file.insert_file(
&mut Cursor::new(b"plop\n"),
FileHeader::new_default("plop.txt"),
None,
);
out_file.insert_file(
&mut Cursor::new(b"Hello World\n"),
FileHeader::new_default("plip.txt"),
None,
);
out_file.write_central_directory();
}