using System.Runtime.InteropServices;
namespace BurnOutSharp.Models.PortableExecutable
{
///
/// Overlay data associated with SecuROM executables
///
///
/// 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.
///
[StructLayout(LayoutKind.Sequential)]
public class SecuROMAddDEntry
{
///
/// Physical offset of the embedded file
///
public uint PhysicalOffset;
///
/// Length of the embedded file
///
/// The last entry seems to be 4 bytes short in 4.47.00.0039
public uint Length;
///
/// Unknown (0x08)
///
/// 3149224 [3496, 48] in the sample (all 3 entries) in 4.47.00.0039
public uint Unknown08h;
///
/// Unknown (0x0C)
///
/// 3147176 [1448, 48] in the sample (all 3 entries) in 4.47.00.0039
public uint Unknown0Ch;
///
/// Unknown (0x10)
///
/// 3149224 [3496, 48] in the sample (all 3 entries) in 4.47.00.0039
public uint Unknown10h;
///
/// Unknown (0x14)
///
/// 1245044 [65396, 18] in the sample (all 3 entries) in 4.47.00.0039
public uint Unknown14h;
///
/// Unknown (0x18)
///
/// 4214725 [20421, 64] in the sample (all 3 entries) in 4.47.00.0039
public uint Unknown18h;
///
/// Unknown (0x1C)
///
/// 2 [2, 0] in the sample (all 3 entries) in 4.47.00.0039
public uint Unknown1Ch;
///
/// Entry file name (null-terminated)
///
/// 12 bytes long in the sample (all 3 entries) in 4.47.00.0039
public string FileName;
///
/// Unknown (0x2C)
///
///
/// Offset based on consistent-sized filenames (12 bytes) in 4.47.00.0039
/// 132 [132, 0] in the sample (all 3 entries) in 4.47.00.0039
///
public uint Unknown2Ch;
}
}