mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-12 17:48:33 +00:00
46 lines
1.6 KiB
Plaintext
46 lines
1.6 KiB
Plaintext
|
Each block:
|
|||
|
|
|||
|
HEAD_CRC 2 bytes CRC of total block or block part
|
|||
|
HEAD_TYPE 1 byte Block type
|
|||
|
HEAD_FLAGS 2 bytes Block flags
|
|||
|
HEAD_SIZE 2 bytes Block size
|
|||
|
ADD_SIZE 4 bytes Optional field – added block size
|
|||
|
|
|||
|
Field ADD_SIZE present only if (HEAD_FLAGS & 0×8000) != 0
|
|||
|
|
|||
|
Blocksize:
|
|||
|
|
|||
|
if (HEAD_FLAGS & 0×8000) == 0 && HEAD_SIZE+ADD_SIZE
|
|||
|
if the field ADD_SIZE is present – when
|
|||
|
(HEAD_FLAGS & 0×8000) != 0.
|
|||
|
|
|||
|
Types of blocks
|
|||
|
|
|||
|
HEAD_TYPE=0×72 marker block # first block
|
|||
|
The marker block is actually considered as a fixed byte
|
|||
|
sequence: 0×52 0×61 0×72 0×21 0x1a 0×07 0×00
|
|||
|
HEAD_TYPE=0×73 archive header
|
|||
|
|
|||
|
HEAD_TYPE=0×74 file header
|
|||
|
HEAD_TYPE=0×75 old style comment header
|
|||
|
HEAD_TYPE=0×76 old style authenticity information
|
|||
|
HEAD_TYPE=0×77 old style subblock
|
|||
|
HEAD_TYPE=0×78 old style recovery record
|
|||
|
HEAD_TYPE=0×79 old style authenticity information
|
|||
|
HEAD_TYPE=0x7a subblock
|
|||
|
|
|||
|
|
|||
|
|
|||
|
HEAD_FLAGS:
|
|||
|
0×0001 – Volume attribute (archive volume)
|
|||
|
0×0002 – Has comment (v3 uses the separate comment block and does not use this)
|
|||
|
0×0004 – Archive lock attribute
|
|||
|
0×0008 – Solid attribute (solid archive)
|
|||
|
0×0010 – New volume naming scheme (‘volname.partN.rar’)
|
|||
|
0×0020 – Authenticity information present RAR 3.x does not set this flag.
|
|||
|
0×0040 – Recovery record present
|
|||
|
0×0080 – Block headers are encrypted
|
|||
|
0×0100 – First volume (set only by RAR 3.0 and later)
|
|||
|
0×4000 – if set, older RAR versions will ignore the block
|
|||
|
0x8000 - if set, ADD_SIZE is present and bs = HEAD_SIZE + ADD_SIZE
|