From ac540415349ea4f8008d2ee32eef554c17191b6b Mon Sep 17 00:00:00 2001 From: LukeFZ <17146677+LukeFZ@users.noreply.github.com> Date: Tue, 20 Jan 2026 02:21:23 +0100 Subject: [PATCH] add fallbacks for invalid version and public keys in dummy dlls --- .../Outputs/AssemblyShims.cs | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/Il2CppInspector.Common/Outputs/AssemblyShims.cs b/Il2CppInspector.Common/Outputs/AssemblyShims.cs index b99bee5..5339f64 100644 --- a/Il2CppInspector.Common/Outputs/AssemblyShims.cs +++ b/Il2CppInspector.Common/Outputs/AssemblyShims.cs @@ -189,12 +189,28 @@ namespace Il2CppInspector.Outputs private AssemblyDefUser CreateAssembly(Il2CppAssemblyNameDefinition nameDefinition) { var name = model.Package.Strings[nameDefinition.NameIndex]; - var version = new Version(nameDefinition.Major, nameDefinition.Minor, nameDefinition.Build, - nameDefinition.Revision); + + Version version; + if (nameDefinition.Major != -1 && nameDefinition.Minor != -1 && nameDefinition.Build != -1 && + nameDefinition.Revision != -1) + { + version = new Version(nameDefinition.Major, nameDefinition.Minor, nameDefinition.Build, + nameDefinition.Revision); + } + else + { + version = new Version(0, 0, 0, 0); + } + + PublicKey? publicKey = null; + if (nameDefinition.Flags.HasFlag(AssemblyNameFlags.PublicKey)) + { + publicKey = new PublicKey(model.Package.AssemblyPublicKeys[nameDefinition.PublicKeyIndex]); + } return new AssemblyDefUser(name, version) { - PublicKey = new PublicKey(model.Package.AssemblyPublicKeys[nameDefinition.PublicKeyIndex]), + PublicKey = publicKey, Culture = model.Package.Strings[nameDefinition.CultureIndex], HashAlgorithm = (AssemblyHashAlgorithm)nameDefinition.HashAlg, HasPublicKey = nameDefinition.Flags.HasFlag(AssemblyNameFlags.PublicKey)