2025-09-27 21:46:03 -04:00
|
|
|
|
namespace SabreTools.Data.Models.SecuROM
|
2025-09-26 12:09:34 -04:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Overlay data associated with SecuROM executables
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <remarks>
|
|
|
|
|
|
/// All information in this file has been researched in a clean room
|
|
|
|
|
|
/// environment by using sample from legally obtained software that
|
|
|
|
|
|
/// is protected by SecuROM.
|
|
|
|
|
|
/// </remarks>
|
|
|
|
|
|
public sealed class AddD
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
2025-09-27 21:47:55 -04:00
|
|
|
|
/// "AddD"
|
2025-09-26 12:09:34 -04:00
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
|
public string Signature { get; set; } = string.Empty;
|
2025-09-26 12:09:34 -04:00
|
|
|
|
|
|
|
|
|
|
/// <summary>s
|
2025-09-27 22:47:43 -04:00
|
|
|
|
/// Entry count
|
2025-09-26 12:09:34 -04:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public uint EntryCount { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-09-27 21:46:03 -04:00
|
|
|
|
/// Version, null-terminated
|
2025-09-26 12:09:34 -04:00
|
|
|
|
/// </summary>
|
2025-09-27 21:46:03 -04:00
|
|
|
|
/// <remarks>Always 8 bytes?</remarks>
|
2025-10-31 13:59:28 -04:00
|
|
|
|
public string Version { get; set; } = string.Empty;
|
2025-09-26 12:09:34 -04:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-09-27 21:46:03 -04:00
|
|
|
|
/// Build number
|
2025-09-26 12:09:34 -04:00
|
|
|
|
/// </summary>
|
2025-09-27 21:46:03 -04:00
|
|
|
|
/// <remarks>4 bytes</remarks>
|
2025-10-31 13:59:28 -04:00
|
|
|
|
public string Build { get; set; } = string.Empty;
|
2025-09-26 12:09:34 -04:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-09-27 22:02:10 -04:00
|
|
|
|
/// Unknown
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <remarks>44 bytes</remarks>
|
2025-10-30 20:44:16 -04:00
|
|
|
|
public byte[] Unknown1 { get; set; } = new byte[44];
|
2025-09-27 22:02:10 -04:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Product ID?
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <remarks>
|
|
|
|
|
|
/// 10 bytes, only present in 4.84.00.0054, 4.84.69.0037, 4.84.76.7966, 4.84.76.7968, 4.85.07.0009
|
|
|
|
|
|
/// </remarks>
|
2025-10-31 13:59:28 -04:00
|
|
|
|
public string ProductId { get; set; } = string.Empty;
|
2025-09-27 22:02:10 -04:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Unknown
|
2025-09-26 12:09:34 -04:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <remarks>
|
2025-09-27 22:02:10 -04:00
|
|
|
|
/// 58 bytes, only present in 4.84.00.0054, 4.84.69.0037, 4.84.76.7966, 4.84.76.7968, 4.85.07.0009
|
2025-09-26 12:09:34 -04:00
|
|
|
|
/// </remarks>
|
2025-10-30 20:44:16 -04:00
|
|
|
|
public byte[] Unknown2 { get; set; } = new byte[58];
|
2025-09-26 12:09:34 -04:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Entry table
|
|
|
|
|
|
/// </summary>
|
2025-10-31 13:59:28 -04:00
|
|
|
|
public AddDEntry[] Entries { get; set; } = [];
|
2025-09-26 12:09:34 -04:00
|
|
|
|
}
|
|
|
|
|
|
}
|