Snowy Fish Frenzy ARF: Difference between revisions
Jump to navigation
Jump to search
imported>Mr.Mouse (→ARF) |
imported>WATTO m (updated to correct encryption specs) |
||
| Line 37: | Line 37: | ||
* The filename bytes are XOR with the key in the header.<br> | * The filename bytes are XOR with the key in the header.<br> | ||
* If the filename length is not a multiple of 4 bytes, the left over bytes are not XORed<br> | * If the filename length is not a multiple of 4 bytes, the left over bytes are not XORed<br> | ||
* The file data is XORed with a single byte found in the directory, which is different for each file. | * The first 20 bytes of the file data (for each file) is XORed with a single byte found in the directory, which is different for each file. The remaining bytes of the file data are to be read as normal. | ||
=== Supported Programs === | === Supported Programs === | ||
* [[MultiEx Commander]]<br> | * [[MultiEx Commander]]<br> | ||
* [[Game Extractor|Game Extractor]]<br> | * [[Game Extractor|Game Extractor]]<br> | ||
Revision as of 10:17, 4 January 2006
ARF
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
// ARCHIVE HEADER
- char {2} - Header (AR)
- uint16 {2} - null
- uint32 {4} - Number Of Files
- uint32 {4} - Filename Directory XOR Key
- uint32 {4} - Directory Offset
// FILENAME DIRECTORY
- // for each file
- byte {1} - Filename Length
- char {X} - Filename (Encrypted)
- byte {1} - Filename Length
// DIRECTORY
- // for each file
- uint16 {2} - File ID (incremental from 1)
- uint16 {2} - Unknown
- uint32 {4} - File Offset
- uint32 {4} - File Length
- byte {1} - File Data XOR key
- byte {3} - Unknown
- uint16 {2} - File ID (incremental from 1)
// FILE DATA
- // for each file
- byte {X} - File Data (Encrypted)
- byte {X} - File Data (Encrypted)
Notes and Comments
- The filename bytes are XOR with the key in the header.
- If the filename length is not a multiple of 4 bytes, the left over bytes are not XORed
- The first 20 bytes of the file data (for each file) is XORed with a single byte found in the directory, which is different for each file. The remaining bytes of the file data are to be read as normal.