FEX Core SDK
  • Documentation
  • C# Reference
Search Results for

    Show / Hide Table of Contents
    • FexViewer
      • FexApi
      • FexCoreException
      • FileRecord
      • ImageMetadata
    • FexViewer.Models
      • Manifest
      • PathBuilder
      • StatusFlags

    Class Manifest

    Case manifest describing a forensic image: ordered segments and an optional list of credentials to try against encrypted volumes. Loaded from a JSON file via Load(string).

    Inheritance
    object
    Manifest
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: FexViewer.Models
    Assembly: FexViewer.dll
    Syntax
    public class Manifest
    Remarks

    JSON shape (all fields except manifest_version are optional):

    {
      "manifest_version": 1,
      "segments":  ["disk.E01", "disk.E02"],
      "passwords": ["literal-password", "C:\\path\\to\\keyfile.bek"]
    }

    Relative paths inside the manifest are resolved relative to the manifest file's own directory at load time.

    Properties

    ManifestVersion

    Schema version. Currently must be 1; Load(string) rejects other values.

    Declaration
    [JsonPropertyName("manifest_version")]
    public int ManifestVersion { get; set; }
    Property Value
    Type Description
    int

    Passwords

    Credentials tried in order against encrypted volumes. Each entry that resolves to an existing file is treated as a key file (e.g. a BitLocker .bek); everything else is treated as a literal password. Both styles can mix in one array.

    Declaration
    [JsonPropertyName("passwords")]
    public List<string>? Passwords { get; set; }
    Property Value
    Type Description
    List<string>

    Segments

    Ordered list of image segment paths. Only the first segment is passed to OpenImage; the DLL auto-detects companion segments by naming convention. Other entries are validated for existence and surfaced as warnings if missing.

    Declaration
    [JsonPropertyName("segments")]
    public List<string>? Segments { get; set; }
    Property Value
    Type Description
    List<string>

    Methods

    BuildOptionsJson()

    Builds the JSON options string passed to OpenImage(string, string, nint, nint) when this manifest carries credentials. Returns null if there are no passwords.

    Declaration
    public string? BuildOptionsJson()
    Returns
    Type Description
    string

    UTF-8 JSON document, or null.

    GetPrimaryImagePath()

    Returns the path of the first segment, the only one passed to OpenImage. Logs warnings to stderr for any subsequent segment that is missing on disk.

    Declaration
    public string GetPrimaryImagePath()
    Returns
    Type Description
    string

    Absolute path of the first segment.

    Exceptions
    Type Condition
    InvalidOperationException

    No segments are listed.

    FileNotFoundException

    The first segment is missing.

    Load(string)

    Loads and validates a manifest JSON file from disk.

    Declaration
    public static Manifest Load(string manifestPath)
    Parameters
    Type Name Description
    string manifestPath

    Path to the manifest JSON file.

    Returns
    Type Description
    Manifest

    Parsed manifest with paths resolved to absolute form.

    Exceptions
    Type Condition
    ArgumentException

    manifestPath is null or empty.

    FileNotFoundException

    Manifest file does not exist.

    InvalidDataException

    JSON parse failure or unsupported schema version.

    In this article
    Back to top © GetData Forensics