From 104c5ccad4cc5a0a29cdaa45dfd93bb4cffb00f9 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sat, 20 Sep 2025 19:48:45 -0400 Subject: [PATCH] XML resources and overlay --- .../Wrappers/PortableExecutable.Extraction.cs | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs b/SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs index 3d8e3c10..0cf0a7fb 100644 --- a/SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs +++ b/SabreTools.Serialization/Wrappers/PortableExecutable.Extraction.cs @@ -174,6 +174,21 @@ namespace SabreTools.Serialization.Wrappers extension = "uha"; break; } + else if (overlaySample.StartsWith([0x3C, 0x3F, 0x78, 0x6D, 0x6C])) + { + extension = "xml"; + break; + } + else if (overlaySample.StartsWith([0x3C, 0x00, 0x3F, 0x00, 0x78, 0x00, 0x6D, 0x00, 0x6C, 0x00])) + { + extension = "xml"; + break; + } + else if (overlaySample.StartsWith([0xFF, 0xFE, 0x3C, 0x00, 0x3F, 0x00, 0x78, 0x00, 0x6D, 0x00, 0x6C, 0x00])) + { + extension = "xml"; + break; + } else if (overlaySample.StartsWith([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) { extension = "xz"; @@ -329,6 +344,21 @@ namespace SabreTools.Serialization.Wrappers extension = "uha"; break; } + else if (resourceSample.StartsWith([0x3C, 0x3F, 0x78, 0x6D, 0x6C])) + { + extension = "xml"; + break; + } + else if (resourceSample.StartsWith([0x3C, 0x00, 0x3F, 0x00, 0x78, 0x00, 0x6D, 0x00, 0x6C, 0x00])) + { + extension = "xml"; + break; + } + else if (resourceSample.StartsWith([0xFF, 0xFE, 0x3C, 0x00, 0x3F, 0x00, 0x78, 0x00, 0x6D, 0x00, 0x6C, 0x00])) + { + extension = "xml"; + break; + } else if (resourceSample.StartsWith([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) { extension = "xz"; @@ -375,7 +405,7 @@ namespace SabreTools.Serialization.Wrappers return false; } } - + /// /// Extract data from a SecuROM Matroschka Package ///