Insane 1nsane IDF

From XentaxWiki
Revision as of 21:51, 25 September 2021 by imported>Ikskoks (→‎Encryption Method)
Jump to navigation Jump to search

Back to index | Edit this page

IDF

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signature : FFFL


Format Specifications

// 1nsane PC
// IDF file format

// little endian

// header
4 bytes (char) - signature  // "FFFL"
4 bytes (uint32) - version?  // 12
4 bytes (uint32) - TOC type // 0x00010000 - unencrypted TOC
                            // 0x00010100 - encrypted TOC
4 bytes (uint32) - TOC offset  // XORed with 0x123
4 bytes (uint32) - encryption key


// data
num_of_files *
{
   x bytes - file data
}

// TOC
4 bytes (uint32) - number of files
num_of_files *
{
   52 bytes (char) - file name + padding  // e.g. "Data\Misc\japan.pcx"
   4 bytes (uint32) - unknown
   4 bytes (uint32) - file offset
   4 bytes (uint32) - file size
}
4 bytes (uint32) - number of files (repeated?)

MultiEx BMS Script

Not written yet.

QuickBMS Script

Notes and Comments

  • Table of Content (archive footer) is encrypted with XOR encryption.
  • Data seems to be unencrypted and uncompressed.

Encryption Method

TOC in every IDF archive in the retail version of "1nsane" is encrypted with custom XOR encryption.
Below is example of the code from quickbms script which may be used to decrypt TOC:

for i = 0 < TOC_LENGTH
	get NEW_BYTE byte
	XMATH NEW_BYTE "NEW_BYTE ^ TOC_XOR_KEY"
	XMATH TOC_XOR_KEY "(NEW_BYTE + i + (TOC_XOR_KEY * 5)) & 0xFF" 

Games

List of games using this file format:

  • Insane / 1nsane

Compatible Programs

See Also

Gallery