namespace SabreTools.Data.Models.AdvancedInstaller { /// /// Structure similar to the end of central directory /// header in PKZIP files /// public class Footer { /// /// Unknown /// /// /// Observed values: /// - 00 00 00 00 /// public uint Unknown0 { get; set; } /// /// Size of the original filename? /// /// Doesn't exist in some cases? public uint? OriginalFilenameSize { get; set; } /// /// Unicode-encoded original filename? /// /// Doesn't exist in some cases? public string? OriginalFilename { get; set; } /// /// Unknown, possibly a string count? /// /// /// Only seen when the preceeding two fields exist /// /// Observed values: /// - 01 00 00 00 /// public uint? Unknown1 { get; set; } /// /// Pointer to ? /// public uint FooterOffset { get; set; } /// /// Number of entries that preceed the footer /// public uint EntryCount { get; set; } /// /// Unknown /// /// /// Observed values: /// - 64 00 00 00 /// public uint Unknown2 { get; set; } /// /// Unknown offset /// /// /// Points to if no original filename. /// Points to if contains an original filename. /// public uint UnknownOffset { get; set; } /// /// Offset of the start of the file table /// public uint TablePointer { get; set; } /// /// Offset to the start of the file data /// public uint FileDataStart { get; set; } /// /// Hex string that looks like a key or other identifier /// /// 32 bytes public string HexString { get; set; } = string.Empty; /// /// Unknown /// /// /// Offset pointer to /// relative to the end of the signature if no filename /// exists. /// /// Observed values: /// - 32 00 00 00 (No original filename) /// - 13 02 00 00 (Original filename) /// public uint Unknown3 { get; set; } /// /// "ADVINSTSFX" /// public string Signature { get; set; } = string.Empty; /// /// Unknown, always 0? Padding? /// public ushort? Unknown4 { get; set; } } }