radare2/shlr/rar
pancake 48f710abe8 Share RBinJavaObj to RAsmJava plugin, better java and fixes in config
Some more work to get java support back (analysis, disasm, bin share)
Honor ordinal field in java r_bin methods
Fix segfault in 'af*' on FreeBSD (thanks idwer for reporting!)
Fix some valgrind warnings
Better io.maxblk handling
Fix div by zero when blocksize is 0
Fix disasm lines when no function and extra code comments
2012-12-20 11:31:38 +01:00
..
all.c Fix build 2012-12-03 04:06:02 +01:00
asm.c Initial import of the rarvm asm/dis and bin (wip, not integrated) 2012-11-29 04:12:15 +01:00
bin.c Add r_bin.rar plugin, per-section arch/bits, fix in S= 2012-11-30 01:06:30 +01: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 Initial import of the rarvm asm/dis and bin (wip, not integrated) 2012-11-29 04:12:15 +01:00
main.c Better new WebUI, fix pdf,pD, implement http.timeout and more 2012-12-03 04:01:55 +01:00
Makefile Initial import of the rarvm asm/dis and bin (wip, not integrated) 2012-11-29 04:12:15 +01:00
rarformat.txt Initial import of the rarvm asm/dis and bin (wip, not integrated) 2012-11-29 04:12:15 +01:00
README Initial import of the rarvm asm/dis and bin (wip, not integrated) 2012-11-29 04:12:15 +01:00

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