Small matroschka model update (#14)

* Small model updates, mainly documentation. Not essential.

* wrong branch lol
This commit is contained in:
HeroponRikiBestest
2025-09-19 12:09:16 -04:00
committed by GitHub
parent b3d9bd3d6b
commit 2f94464b7d
2 changed files with 13 additions and 8 deletions

View File

@@ -8,8 +8,9 @@ namespace SabreTools.Models.SecuROM
/// <remarks>
/// Versions without a key prefix are 256 bytes.
/// Versions with key values either are 256 or 512 bytes.
/// Stored as a string as the rest of the 256/512 bytes are just padding.
/// </remarks>
public byte[]? Path { get; set; }
public string? Path { get; set; }
/// <summary>
/// Type of the entry data
@@ -29,7 +30,7 @@ namespace SabreTools.Models.SecuROM
/// <summary>
/// Unknown value only seen in later versions
/// </summary>
/// <remarks>Possibly indicates that the offset is a 64-bit value</remarks>
/// <remarks>Does not indicate that the offset is or isn't a 64-bit value</remarks>
public uint? Unknown { get; set; }
/// <summary>

View File

@@ -26,7 +26,7 @@ namespace SabreTools.Models.SecuROM
/// </summary>
public uint EntryCount { get; set; }
#region Release Control only
#region Longer Header only
// The combination of the 4 following values have only been seen in
// one of 4 distinct patterns. The meaning of these patterns is unknown.
@@ -41,19 +41,19 @@ namespace SabreTools.Models.SecuROM
// 0x00 values and 256-byte paths.
/// <summary>
/// One of four unknown values only observed on RC matroschka sections
/// One of four unknown values only observed on longer header matroschka sections
/// </summary>
/// <remarks>Only values of 0 or 1 have been found</remarks>
public uint? UnknownRCValue1 { get; set; }
/// <summary>
/// One of four unknown values only observed on RC matroschka sections
/// One of four unknown values only observed on longer header matroschka sections
/// </summary>
/// <remarks>Only values of 0 or 1 have been found</remarks>
public uint? UnknownRCValue2 { get; set; }
/// <summary>
/// One of four unknown values only observed on RC matroschka sections
/// One of four unknown values only observed on longer header matroschka sections
/// </summary>
/// <remarks>Only values of 0 or 1 have been found</remarks>
public uint? UnknownRCValue3 { get; set; }
@@ -62,8 +62,12 @@ namespace SabreTools.Models.SecuROM
/// 32-character hex string
/// </summary>
/// <remarks>
/// Due to encryption on later DFA-encrypted RC executables, this is the
/// most reliable way to identify which executables are using the same key.
/// This is all zeroes for all observed longer header non-RC matroschka sections. For RC sections, this is
/// always 630A411277DE8A4B9BB8DF2A14AC4C28, except for the executables for Crysis Wars and Crysis
/// Warhead, which are 9D2593B31A01E041AF6EDC15AEF5B969. Those two are noteworthy as they appear to be the
/// earliest known RC games, have a strange key in the encrypted executable, and are the only games that cannot
/// currently be manually unlocked (and thus, cannot be unlocked at all at the moment). So, this may indicate
/// something about version, functionality, or otherwise?
/// </remarks>
public string? KeyHexString { get; set; }