I did some more work on the header file earlier and I’m almost done mapping it:
THeader = record
magic : array[0..3] of char;
unknown1 : integer; //always 0x00000000?
Signature : array [0..39] of byte; //digital signature
unknown2 : integer; //always 0x00000000?
unknown3 : integer; //always 0x00000000?
unknown4 : integer; //always 0x0000002C? Size of following section?
unknown5 : integer; //always 0x00000002?
unknown6 : integer; //related to amount of icons? Possibly 2 words or even 4 bytes.
sysPos : integer; //location in file of icon.sys
sysSize : integer; //icon.sys size
icon1Pos : integer; //position of 1st icon
icon1Size : integer; //size of 1st icon
icon2Pos : integer; //position of 2nd icon
icon2Size : integer; //size of 2nd icon
icon3Pos : integer; //position of 3rd icon
icon3Size : integer; //size of 3rd icon
numberOfFiles : integer;
‘unknowns’ 1 to 5 seem pretty static and haven’t changed in the 5 files I’ve looked at but unknown6 still eludes me at this point. Ideas on what it represents are welcome, my suspicion is it is related to the icon and/or icon.sys data as that is what directly follows.
I suspect the digital signature is a SHA-1 HMAC but I’m welcome to other ideas