add funai_mstar extractor, mstar: fix BUG from previous commit (not increment j counter when skipping by unknown dest), auto delete decrypted file in mstar_secure_old (new option to not do so)

This commit is contained in:
theubusu
2026-05-11 19:55:01 +02:00
parent 30fafbd3fc
commit c29bbe1bdc
6 changed files with 155 additions and 10 deletions
+13 -7
View File
@@ -23,6 +23,7 @@ pub mod rvp;
pub mod funai_upg;
pub mod funai_upg_phl;
pub mod funai_bdp;
pub mod funai_mstar;
pub mod pana_dvd;
pub mod android_ota_payload;
pub mod bdl;
@@ -59,11 +60,6 @@ pub fn get_registry() -> Vec<Format> {
detector_func: crate::formats::mstar::is_mstar_file,
extractor_func: crate::formats::mstar::extract_mstar,
},
Format {
name: "mstar_secure_old",
detector_func: crate::formats::mstar_secure_old::is_mstar_secure_old_file,
extractor_func: crate::formats::mstar_secure_old::extract_mstar_secure_old,
},
Format {
name: "samsung_old",
detector_func: crate::formats::samsung_old::is_samsung_old_dir,
@@ -144,6 +140,11 @@ pub fn get_registry() -> Vec<Format> {
detector_func: crate::formats::funai_bdp::is_funai_bdp_file,
extractor_func: crate::formats::funai_bdp::extract_funai_bdp,
},
Format {
name: "funai_mstar", // ORDER: needs to be placed BELOW mstar_secure_old
detector_func: crate::formats::funai_mstar::is_funai_mstar_file, //because, it can end with mstar_secure_old payload, but because it is not aligned to the start of the file, extraction will fail
extractor_func: crate::formats::funai_mstar::extract_funai_mstar,
},
Format {
name: "pana_dvd",
detector_func: crate::formats::pana_dvd::is_pana_dvd_file,
@@ -221,8 +222,8 @@ pub fn get_registry() -> Vec<Format> {
},
Format {
name: "philips_bdp",
detector_func: crate::formats::philips_bdp::is_philips_bdp_file,
extractor_func: crate::formats::philips_bdp::extract_philips_bdp,
detector_func: crate::formats::philips_bdp::is_philips_bdp_file, //ORDER: needs to be placed below mtk_bdp
extractor_func: crate::formats::philips_bdp::extract_philips_bdp, //because, it can end with mtk_bdp payload, but because it is not aligned to the start of the file, extraction will fail
},
Format {
name: "mtk_bdp",
@@ -244,5 +245,10 @@ pub fn get_registry() -> Vec<Format> {
detector_func: crate::formats::onkyo::is_onkyo_file,
extractor_func: crate::formats::onkyo::extract_onkyo,
},
Format {
name: "mstar_secure_old",
detector_func: crate::formats::mstar_secure_old::is_mstar_secure_old_file,
extractor_func: crate::formats::mstar_secure_old::extract_mstar_secure_old,
},
]
}