Skip to main content

Module header

Module header 

Source
Expand description

NSIS header structures.

This module contains parsers for the three header layers:

  • FirstHeader: The 28-byte signature and size block found in the PE overlay.
  • BlockHeader: An 8-byte descriptor (offset + count) for each data block.
  • CommonHeader: The main header containing flags, block descriptors, callbacks, and install configuration.

§Structure Chain

PE Overlay
└─ FirstHeader (28 bytes, usually at a 512-byte aligned offset)
   └─ Compressed Header Block
      └─ CommonHeader
         ├─ BlockHeader[0] → Pages
         ├─ BlockHeader[1] → Sections
         ├─ BlockHeader[2] → Entries
         ├─ BlockHeader[3] → Strings
         ├─ BlockHeader[4] → LangTables
         ├─ BlockHeader[5] → CtlColors
         ├─ BlockHeader[6] → BgFont
         └─ BlockHeader[7] → Data

Re-exports§

pub use blockheader::BLOCKS_NUM;
pub use blockheader::BlockHeader;
pub use blockheader::BlockType;
pub use commonheader::CommonHeader;
pub use firstheader::FirstHeader;

Modules§

blockheader
NSIS block header structure.
commonheader
NSIS common header structure.
firstheader
NSIS FirstHeader structure.

Enums§

NsisVersionHint
Hint about which NSIS version produced an installer.

Functions§

scan_for_first_header
Scans the overlay for a valid NSIS FirstHeader.