namespace StellaOps.Scanner.Analyzers.Native;
///
/// Full identity information extracted from a PE (Portable Executable) file.
///
/// Machine type (x86, x86_64, ARM64, etc.).
/// Whether this is a 64-bit PE (PE32+).
/// PE subsystem (Console, GUI, Native, etc.).
/// CodeView PDB70 GUID in lowercase hex (no dashes).
/// CodeView Age field (increments on rebuild).
/// Original PDB path from debug directory.
/// Product version from version resource.
/// File version from version resource.
/// Company name from version resource.
/// Product name from version resource.
/// Original filename from version resource.
/// Rich header hash (XOR of all entries).
/// Compiler hints from rich header.
/// Exported symbols from export directory.
public sealed record PeIdentity(
string? Machine,
bool Is64Bit,
PeSubsystem Subsystem,
string? CodeViewGuid,
int? CodeViewAge,
string? PdbPath,
string? ProductVersion,
string? FileVersion,
string? CompanyName,
string? ProductName,
string? OriginalFilename,
uint? RichHeaderHash,
IReadOnlyList CompilerHints,
IReadOnlyList Exports);