From ac6d93a3b9c14bbb7e6ab9c26e8785b0e10e5d96 Mon Sep 17 00:00:00 2001 From: HeroponRikiBestest <50224630+HeroponRikiBestest@users.noreply.github.com> Date: Sat, 12 Jul 2025 15:49:35 -0400 Subject: [PATCH] Add extra validity checks for GCF (#17) * Add extra validity checks for GCF * Remove "for validity" --- SabreTools.Serialization/Deserializers/GCF.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/SabreTools.Serialization/Deserializers/GCF.cs b/SabreTools.Serialization/Deserializers/GCF.cs index e706fa8f..4c43d320 100644 --- a/SabreTools.Serialization/Deserializers/GCF.cs +++ b/SabreTools.Serialization/Deserializers/GCF.cs @@ -104,8 +104,15 @@ namespace SabreTools.Serialization.Deserializers #region Directory Header + // Try to parse game cache directory header + var directoryHeader = ParseDirectoryHeader(data); + if (directoryHeader.Dummy0 != 0x00000004) + return null; + if (directoryHeader.Dummy1 != 0x00008000) + return null; + // Set the game cache directory header - file.DirectoryHeader = ParseDirectoryHeader(data); + file.DirectoryHeader = directoryHeader; #endregion @@ -662,4 +669,4 @@ namespace SabreTools.Serialization.Deserializers return obj; } } -} \ No newline at end of file +}