From 37b457819314bb9293ae50ae95934687a76ba989 Mon Sep 17 00:00:00 2001 From: theubusu <80545678+theubusu@users.noreply.github.com> Date: Mon, 9 Mar 2026 15:18:45 +0100 Subject: [PATCH] pana_dvd: add 2013 china key and decrypt exclusion for VGD --- src/formats/pana_dvd/mod.rs | 9 +++++++-- src/keys.rs | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/formats/pana_dvd/mod.rs b/src/formats/pana_dvd/mod.rs index 25bd158..77e4bee 100644 --- a/src/formats/pana_dvd/mod.rs +++ b/src/formats/pana_dvd/mod.rs @@ -169,8 +169,13 @@ fn extract_file(app_ctx: &AppContext, file_reader: &mut Cursor>, header_ } let data = common::read_exact(file_reader, module.size as usize)?; - println!("- Decrypting..."); - let mut dec_data = decrypt_data(&data, &key); + + let mut dec_data =if module.name() != "VGD " { //VGD is not encrypted? + println!("- Decrypting..."); + decrypt_data(&data, &key) + } else { + data + }; if module.name().starts_with("DRV") { println!("- Extracting DRIVE firmware..."); diff --git a/src/keys.rs b/src/keys.rs index 427a0d5..5438ac8 100644 --- a/src/keys.rs +++ b/src/keys.rs @@ -70,6 +70,7 @@ pub static PANA_DVD_KEYONLY: &[&str] = &[ ("5D88719745A4EFFF"), // ~2012 ("38BB0C17D362701F"), // ~2013 ("EC238CD791456646"), // ~2013 + ("0A1EE6C5BDC4933F"), // ~2013 (china) ("8F8CA88482E43D9B"), // ~2014 ("21FCA17361E66B4E"), // ~2014 ];