# Rar

EN | ZH

## file format¶

The RAR file is mainly composed of a mark block, a compressed file header block, a file header block, and a trailing block.

Each of its blocks is roughly divided into the following fields:

Name Size Description
HEAD_CRC 2 CRC for all blocks or block parts

The file header of the Rar archive is 0x 52 61 72 21 1A 07 00.

Name Size Description
HEAD_CRC 2 CRC of fields from HEAD_TYPE to FILEATTR and file name
HEAD_FLAGS 2 Bit Flags (Please see ‘Bit Flags for File in Archive’ table for all possibilities)（伪加密）
PACK_SIZE 4 Compressed file size
UNP_SIZE 4 Uncompressed file size
HOST_OS 1 Operating system used for archiving (See the ‘Operating System Indicators’ table for the flags used)
FILE_CRC 4 File CRC
FTIME 4 Date and time in standard MS DOS format
UNP_VER 1 RAR version needed to extract file (Version number is encoded as 10 * Major version + minor version.)
METHOD 1 Packing method (Please see ‘Packing Method’ table for all possibilities
NAME_SIZE 2 File name size
ATTR 4 File attributes
HIGH_PACK_SIZ 4 High 4 bytes of 64-bit value of compressed file size. Optional value, presents only if bit 0x100 in HEAD_FLAGS is set.
HIGH_UNP_SIZE 4 High 4 bytes of 64-bit value of uncompressed file size. Optional value, presents only if bit 0x100 in HEAD_FLAGS is set.
FILE_NAME NAME_SIZE bytes File name - string of NAME_SIZE bytes size
SALT 8 present if (HEAD_FLAGS & 0x400) != 0
EXT_TIME variable size present if (HEAD_FLAGS & 0x1000) != 0

The end of each RAR file is fixed (Terminator).

Field Name Size (bytes) Possibilities
HEAD_SIZE 2 Block size = 0x0007

See more details http://www.forensicswiki.org/wiki/RAR

## Main attack¶

### Pseudo encryption¶

The pseudo-encryption of the RAR file is visible on the bit-marker field in the header of the file. This bit can be clearly seen with the 010 Editor. Modifying this bit can cause pseudo-encryption.

The rest of the plaintext attacks are still the same as those described in the ZIP.