mirror of
https://github.com/Ap0dexMe0/unixtract.git
synced 2026-07-15 21:00:03 +02:00
mtk_pkg: fix bug (trying to get version when imtk_len is 0)
This commit is contained in:
@@ -131,7 +131,7 @@ pub fn extract_mtk_pkg(app_ctx: &AppContext, ctx: Box<dyn Any>) -> Result<(), Bo
|
|||||||
//strip iMtK thing and get version
|
//strip iMtK thing and get version
|
||||||
let extra_header_len = if &out_data[48..52] == MTK_META_MAGIC {
|
let extra_header_len = if &out_data[48..52] == MTK_META_MAGIC {
|
||||||
let imtk_len = u32::from_le_bytes(out_data[52..56].try_into().unwrap());
|
let imtk_len = u32::from_le_bytes(out_data[52..56].try_into().unwrap());
|
||||||
if &out_data[56..60] != MTK_META_PAD_MAGIC {
|
if imtk_len != 0 && &out_data[56..60] != MTK_META_PAD_MAGIC {
|
||||||
let version_len = u32::from_le_bytes(out_data[56..60].try_into().unwrap());
|
let version_len = u32::from_le_bytes(out_data[56..60].try_into().unwrap());
|
||||||
let version = common::string_from_bytes(&out_data[60..60 + version_len as usize]);
|
let version = common::string_from_bytes(&out_data[60..60 + version_len as usize]);
|
||||||
println!("- Version: {}", version);
|
println!("- Version: {}", version);
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ pub fn extract_mtk_pkg_new(app_ctx: &AppContext, ctx: Box<dyn Any>) -> Result<()
|
|||||||
//strip iMtK thing and get version
|
//strip iMtK thing and get version
|
||||||
let extra_header_len = if &out_data[48..52] == MTK_META_MAGIC {
|
let extra_header_len = if &out_data[48..52] == MTK_META_MAGIC {
|
||||||
let imtk_len = u32::from_le_bytes(out_data[52..56].try_into().unwrap());
|
let imtk_len = u32::from_le_bytes(out_data[52..56].try_into().unwrap());
|
||||||
if &out_data[56..60] != MTK_META_PAD_MAGIC {
|
if imtk_len != 0 && &out_data[56..60] != MTK_META_PAD_MAGIC {
|
||||||
let version_len = u32::from_le_bytes(out_data[56..60].try_into().unwrap());
|
let version_len = u32::from_le_bytes(out_data[56..60].try_into().unwrap());
|
||||||
let version = common::string_from_bytes(&out_data[60..60 + version_len as usize]);
|
let version = common::string_from_bytes(&out_data[60..60 + version_len as usize]);
|
||||||
println!("- Version: {}", version);
|
println!("- Version: {}", version);
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ pub fn extract_mtk_pkg_old(app_ctx: &AppContext, ctx: Box<dyn Any>) -> Result<()
|
|||||||
//strip iMtK thing and get version
|
//strip iMtK thing and get version
|
||||||
let extra_header_len = if &out_data[0..4] == MTK_META_MAGIC {
|
let extra_header_len = if &out_data[0..4] == MTK_META_MAGIC {
|
||||||
let imtk_len = u32::from_le_bytes(out_data[4..8].try_into().unwrap());
|
let imtk_len = u32::from_le_bytes(out_data[4..8].try_into().unwrap());
|
||||||
if &out_data[8..12] != MTK_META_PAD_MAGIC {
|
if imtk_len != 0 && &out_data[8..12] != MTK_META_PAD_MAGIC {
|
||||||
let version_len = u32::from_le_bytes(out_data[8..12].try_into().unwrap());
|
let version_len = u32::from_le_bytes(out_data[8..12].try_into().unwrap());
|
||||||
let version = common::string_from_bytes(&out_data[12..12 + version_len as usize]);
|
let version = common::string_from_bytes(&out_data[12..12 + version_len as usize]);
|
||||||
println!("- Version: {}", version);
|
println!("- Version: {}", version);
|
||||||
|
|||||||
Reference in New Issue
Block a user