From ef9f050fbf31f30b1c9e4dc5c620557c2285e983 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sat, 27 Sep 2025 21:47:55 -0400 Subject: [PATCH] Signature is clearly a string --- SabreTools.Serialization/Models/SecuROM/AddD.cs | 4 ++-- SabreTools.Serialization/Readers/SecuROMAddD.cs | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/SabreTools.Serialization/Models/SecuROM/AddD.cs b/SabreTools.Serialization/Models/SecuROM/AddD.cs index e1761801..89477bf6 100644 --- a/SabreTools.Serialization/Models/SecuROM/AddD.cs +++ b/SabreTools.Serialization/Models/SecuROM/AddD.cs @@ -11,9 +11,9 @@ public sealed class AddD { /// - /// "AddD", Identifier? + /// "AddD" /// - public uint Signature { get; set; } + public string? Signature { get; set; } /// s /// Unknown (Entry count?) diff --git a/SabreTools.Serialization/Readers/SecuROMAddD.cs b/SabreTools.Serialization/Readers/SecuROMAddD.cs index 771c4e06..d95f1661 100644 --- a/SabreTools.Serialization/Readers/SecuROMAddD.cs +++ b/SabreTools.Serialization/Readers/SecuROMAddD.cs @@ -2,6 +2,7 @@ using System.IO; using System.Text; using SabreTools.Data.Models.SecuROM; using SabreTools.IO.Extensions; +using static SabreTools.Data.Models.SecuROM.Constants; namespace SabreTools.Serialization.Readers { @@ -20,7 +21,7 @@ namespace SabreTools.Serialization.Readers long initialOffset = data.Position; var addD = ParseAddD(data); - if (addD.Signature != 0x44646441) + if (addD.Signature != AddDMagicString) return null; return addD; @@ -41,7 +42,8 @@ namespace SabreTools.Serialization.Readers { var obj = new AddD(); - obj.Signature = data.ReadUInt32LittleEndian(); + byte[] signatureBytes = data.ReadBytes(4); + obj.Signature = Encoding.ASCII.GetString(signatureBytes); obj.EntryCount = data.ReadUInt32LittleEndian(); obj.Version = data.ReadNullTerminatedAnsiString(); byte[] buildBytes = data.ReadBytes(4);