add replace prints by logs
This commit is contained in:
parent
0e2bb5fe2d
commit
4b4ef6032d
4 changed files with 21 additions and 14 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
|
use log::warn;
|
||||||
use std::io::{SeekFrom, Write};
|
use std::io::{SeekFrom, Write};
|
||||||
|
|
||||||
use crate::compression::CompressionMethod;
|
use crate::compression::CompressionMethod;
|
||||||
|
|
@ -122,7 +123,7 @@ impl Serializable for FileHeader {
|
||||||
let field = ExtraField::deserialize(input);
|
let field = ExtraField::deserialize(input);
|
||||||
|
|
||||||
if let Err(err) = field {
|
if let Err(err) = field {
|
||||||
println!(
|
warn!(
|
||||||
"Failed to parsed extra field in {}: {err:?}",
|
"Failed to parsed extra field in {}: {err:?}",
|
||||||
header.get_name()
|
header.get_name()
|
||||||
);
|
);
|
||||||
|
|
@ -135,7 +136,7 @@ impl Serializable for FileHeader {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if extra_size_read > extra_field_length as usize {
|
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();
|
let size = header.extra_field.pop().unwrap().size();
|
||||||
input.seek(SeekFrom::Current(-(size as i64))).unwrap();
|
input.seek(SeekFrom::Current(-(size as i64))).unwrap();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
use std::io::{SeekFrom, Write};
|
use std::io::{SeekFrom, Write};
|
||||||
|
|
||||||
|
use log::warn;
|
||||||
|
|
||||||
use crate::compression::CompressionMethod;
|
use crate::compression::CompressionMethod;
|
||||||
use crate::error::Error;
|
use crate::error::Error;
|
||||||
use crate::extra_fields::{ExtraField, GenericExtraField, Zip64ExtraField};
|
use crate::extra_fields::{ExtraField, GenericExtraField, Zip64ExtraField};
|
||||||
|
|
@ -99,9 +101,9 @@ impl Serializable for LocalFileHeader {
|
||||||
let field = ExtraField::deserialize(input);
|
let field = ExtraField::deserialize(input);
|
||||||
|
|
||||||
if let Err(err) = field {
|
if let Err(err) = field {
|
||||||
println!(
|
warn!(
|
||||||
"Failed to parsed extra field in {}: {err:?}",
|
"Failed to parsed extra field in {}: {err:?}",
|
||||||
header.get_name()
|
header.get_name(),
|
||||||
);
|
);
|
||||||
input.seek(SeekFrom::Start(field_off)).unwrap();
|
input.seek(SeekFrom::Start(field_off)).unwrap();
|
||||||
break;
|
break;
|
||||||
|
|
@ -129,7 +131,7 @@ impl Serializable for LocalFileHeader {
|
||||||
&& header.malformed_extra_field != vec![0, 0]
|
&& header.malformed_extra_field != vec![0, 0]
|
||||||
&& header.malformed_extra_field != vec![0, 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();
|
//input.seek(SeekFrom::Start(end_of_extra_field)).unwrap();
|
||||||
for field in &mut header.extra_field {
|
for field in &mut header.extra_field {
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
//use apk_frauder::ZipFileReader;
|
use apk_frauder::ZipFileReader;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use std::io::Cursor;
|
use std::io::Cursor;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
/*
|
||||||
apk_frauder::replace_dex(
|
apk_frauder::replace_dex(
|
||||||
"app-release.apk",
|
"app-release.apk",
|
||||||
"app-instrumented.apk",
|
"app-instrumented.apk",
|
||||||
|
|
@ -19,5 +20,8 @@ fn main() {
|
||||||
env::var("HOME").expect("$HOME not set")
|
env::var("HOME").expect("$HOME not set")
|
||||||
)),
|
)),
|
||||||
None::<HashMap<String, Option<Cursor<&[u8]>>>>,
|
None::<HashMap<String, Option<Cursor<&[u8]>>>>,
|
||||||
);
|
);*/
|
||||||
|
let file = File::open("zagruski.apk").unwrap();
|
||||||
|
let reader = ZipFileReader::new(file);
|
||||||
|
println!("{:#?}", &reader.files[..2]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
use log::warn;
|
use log::{info, warn};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::io::{Read, Seek, SeekFrom};
|
use std::io::{Read, Seek, SeekFrom};
|
||||||
|
|
||||||
|
|
@ -275,8 +275,8 @@ impl<T: Read + Seek> ZipFileReader<T> {
|
||||||
let mut lst_offset = 0;
|
let mut lst_offset = 0;
|
||||||
for file in files.iter() {
|
for file in files.iter() {
|
||||||
if file.get_offset_local_header() != lst_offset {
|
if file.get_offset_local_header() != lst_offset {
|
||||||
println!(
|
info!(
|
||||||
"Hole before {} between 0x{:x} and 0x{:x}",
|
"Hole in zip before {} between 0x{:x} and 0x{:x}",
|
||||||
file.get_name(),
|
file.get_name(),
|
||||||
lst_offset,
|
lst_offset,
|
||||||
file.get_offset_local_header()
|
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 {
|
if let Some(apk_sign_block) = &self.apk_sign_block {
|
||||||
let apk_sb_off = self.get_cd_offset() - apk_sign_block.size() as u64;
|
let apk_sb_off = self.get_cd_offset() - apk_sign_block.size() as u64;
|
||||||
if apk_sb_off != lst_offset {
|
if apk_sb_off != lst_offset {
|
||||||
println!(
|
info!(
|
||||||
"Hole before apk signing block, between 0x{:x} and 0x{:x}",
|
"Hole in zip before apk signing block, between 0x{:x} and 0x{:x}",
|
||||||
lst_offset, apk_sb_off
|
lst_offset, apk_sb_off
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -297,8 +297,8 @@ impl<T: Read + Seek> ZipFileReader<T> {
|
||||||
lst_offset = self.get_cd_offset();
|
lst_offset = self.get_cd_offset();
|
||||||
}
|
}
|
||||||
if self.get_cd_offset() != lst_offset {
|
if self.get_cd_offset() != lst_offset {
|
||||||
println!(
|
info!(
|
||||||
"Hole before central directory between 0x{:x} and 0x{:x}",
|
"Hole in zip before central directory between 0x{:x} and 0x{:x}",
|
||||||
lst_offset,
|
lst_offset,
|
||||||
self.get_cd_offset()
|
self.get_cd_offset()
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue