add replace prints by logs

This commit is contained in:
Jean-Marie 'Histausse' Mineau 2025-01-28 15:28:13 +01:00
parent 0e2bb5fe2d
commit 4b4ef6032d
Signed by: histausse
GPG key ID: B66AEEDA9B645AD2
4 changed files with 21 additions and 14 deletions

View file

@ -1,3 +1,4 @@
use log::warn;
use std::io::{SeekFrom, Write};
use crate::compression::CompressionMethod;
@ -122,7 +123,7 @@ impl Serializable for FileHeader {
let field = ExtraField::deserialize(input);
if let Err(err) = field {
println!(
warn!(
"Failed to parsed extra field in {}: {err:?}",
header.get_name()
);
@ -135,7 +136,7 @@ impl Serializable for FileHeader {
}
}
if extra_size_read > extra_field_length as usize {
println!("Failed to parse last extra field in {}", header.get_name());
warn!("Failed to parse last extra field in {}", header.get_name());
let size = header.extra_field.pop().unwrap().size();
input.seek(SeekFrom::Current(-(size as i64))).unwrap();
}

View file

@ -1,5 +1,7 @@
use std::io::{SeekFrom, Write};
use log::warn;
use crate::compression::CompressionMethod;
use crate::error::Error;
use crate::extra_fields::{ExtraField, GenericExtraField, Zip64ExtraField};
@ -99,9 +101,9 @@ impl Serializable for LocalFileHeader {
let field = ExtraField::deserialize(input);
if let Err(err) = field {
println!(
warn!(
"Failed to parsed extra field in {}: {err:?}",
header.get_name()
header.get_name(),
);
input.seek(SeekFrom::Start(field_off)).unwrap();
break;
@ -129,7 +131,7 @@ impl Serializable for LocalFileHeader {
&& header.malformed_extra_field != vec![0, 0]
&& header.malformed_extra_field != vec![0, 0, 0]
{
println!("Failed to parse last extra field in {}", header.get_name());
warn!("Failed to parse last extra field in {}", header.get_name());
}
//input.seek(SeekFrom::Start(end_of_extra_field)).unwrap();
for field in &mut header.extra_field {

View file

@ -1,10 +1,11 @@
//use apk_frauder::ZipFileReader;
use apk_frauder::ZipFileReader;
use std::collections::HashMap;
use std::env;
use std::fs::File;
use std::io::Cursor;
fn main() {
/*
apk_frauder::replace_dex(
"app-release.apk",
"app-instrumented.apk",
@ -19,5 +20,8 @@ fn main() {
env::var("HOME").expect("$HOME not set")
)),
None::<HashMap<String, Option<Cursor<&[u8]>>>>,
);
);*/
let file = File::open("zagruski.apk").unwrap();
let reader = ZipFileReader::new(file);
println!("{:#?}", &reader.files[..2]);
}

View file

@ -1,4 +1,4 @@
use log::warn;
use log::{info, warn};
use std::collections::HashMap;
use std::io::{Read, Seek, SeekFrom};
@ -275,8 +275,8 @@ impl<T: Read + Seek> ZipFileReader<T> {
let mut lst_offset = 0;
for file in files.iter() {
if file.get_offset_local_header() != lst_offset {
println!(
"Hole before {} between 0x{:x} and 0x{:x}",
info!(
"Hole in zip before {} between 0x{:x} and 0x{:x}",
file.get_name(),
lst_offset,
file.get_offset_local_header()
@ -288,8 +288,8 @@ impl<T: Read + Seek> ZipFileReader<T> {
if let Some(apk_sign_block) = &self.apk_sign_block {
let apk_sb_off = self.get_cd_offset() - apk_sign_block.size() as u64;
if apk_sb_off != lst_offset {
println!(
"Hole before apk signing block, between 0x{:x} and 0x{:x}",
info!(
"Hole in zip before apk signing block, between 0x{:x} and 0x{:x}",
lst_offset, apk_sb_off
);
}
@ -297,8 +297,8 @@ impl<T: Read + Seek> ZipFileReader<T> {
lst_offset = self.get_cd_offset();
}
if self.get_cd_offset() != lst_offset {
println!(
"Hole before central directory between 0x{:x} and 0x{:x}",
info!(
"Hole in zip before central directory between 0x{:x} and 0x{:x}",
lst_offset,
self.get_cd_offset()
);