radare2/shlr/rar
2014-12-28 17:20:03 +01:00
..
all.c Fix build 2012-12-03 04:06:02 +01:00
asm.c cppcheck: fix memory leaks 2014-12-28 17:20:03 +01:00
bin.c Fix clang build (unicode characters outside of literals) 2014-02-15 20:47:46 -05:00
cpu.c Share RBinJavaObj to RAsmJava plugin, better java and fixes in config 2012-12-20 11:31:38 +01:00
dis.c Share RBinJavaObj to RAsmJava plugin, better java and fixes in config 2012-12-20 11:31:38 +01:00
helloworld.rar
main.c Better new WebUI, fix pdf,pD, implement http.timeout and more 2012-12-03 04:01:55 +01:00
Makefile Fix FreeBSD build (thanks JR!) 2014-06-26 14:17:35 +02:00
rarformat.txt
README

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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