Professional Documents
Culture Documents
xzvxvzxzvxvsdv
RAR version 4.01 - Informacin Tcnica
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EL FORMATO DE ARCHIVO DESCRITO A CONTINUACION ES VLIDO SOLO PARA VERSIONES
POSTERIORES A LA 1.50
==========================================================================
Formato de los ficheros RAR
==========================================================================
Los ficheros estn constituidos por bloques de longitud variable. El
orden de estos bloques puede variar, pero el primer bloque debe ser
siempre un bloque de identificacin seguido de un bloque de cabecera de
archivo.
Cada bloque empieza con los siguientes campos:
HEAD_CRC
HEAD_TYPE
HEAD_FLAGS
HEAD_SIZE
ADD_SIZE
2
1
2
2
4
bytes
byte
bytes
bytes
bytes
bloque de identificacin
cabecera de archivo
cabecera de fichero
estilo antiguo cabecera de comentario
estilo antiguo informacin de autenticidad
estilo antiguo sub-bloque
estilo antiguo recuperacin de registro
estilo antiguo informacin de autenticidad
sub-bloque
Siempre 0x6152
HEAD_TYPE
1 byte
HEAD_FLAGS
2 bytes
Siempre 0x1a21
HEAD_SIZE
2 bytes
HEAD_TYPE
1 byte
HEAD_FLAGS
2 bytes
Pequeas indicaciones:
0x0001
0x0002
0x0020
0x0040
0x0080
0x0100
')
res)
los dems bits de HEAD_FLAGS estn reservados para uso interno.
HEAD_SIZE
2 bytes
RESERVED1
2 bytes
Reservado
RESERVED2
4 bytes
Reservado
HEAD_TYPE
1 byte
HEAD_FLAGS
2 bytes
Pequeas indicaciones:
0x01 - El fichero contina del volumen anterior
0x02 - El fichero contina en el siguiente volumen
0x04 - Fichero protegido con contrasea
0x08 - Comentario de fichero presente
RAR 3.x usa el bloqueo separado del comentario
y no establece esta indicacin.
0x10 - Se usa informacin del fichero anterior
(indicador de archivo slido), para RAR
2.00 y posteriores
Bits 7 6 5 (RAR 2.0 y posteriores)
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
diccionario
diccionario
diccionario
diccionario
diccionario
diccionario
diccionario
de
de
de
de
de
de
de
64
128
256
512
1024
2048
4096
Kb
Kb
Kb
Kb
Kb
KB
KB
1 1 1 - el fichero es un directorio
0x100 - Campos HIGH_PACK_SIZE y HIGH_UNP_SIZE
estn presentes. Estos campos son slo usados por el
archivo para ficheros enormes (ms grandes de 2Gb),
para ficheros pequeos estos campos estn ausentes.
0x200 - FILE_NAME contiene ambos nombres, el Unicode habitual
y el codificado, separados por un cero. En este caso si
el campo NAME_SIZE es igual a la longitud habitual el
nombre ms el nombre codificado Unicode ms 1
Si esta indicacin est presente, pero FILE_NAME
difiere de cero bytes, Quiere decir que el nombre
del fichero est codificado usando UTF-8.
0x400 - La cabecera contiene 8 bytes adicionales despus del
nombre del fichero, cuando es requerido para incrementar
la seguridad de codificacin (tambin llamado 'salt').
0x800 - Indicacin de versin. Si es fichero de una antigua versin,
se aade al fichero un nmero de versin llamado ';n'.
0x1000 - campo de extensin de tiempo presente.
0x8000 - este bit siempre es determinado, debido a que el tamao
total del bloque es HEAD_SIZE + PACK_SIZE
(y ms HIGH_PACK_SIZE, si bit 0x100 est determinado)
HEAD_SIZE
2 bytes
PACK_SIZE
4 bytes
UNP_SIZE
4 bytes
HOST_OS
1 byte
Sistema
0
1
2
3
4
5
FILE_CRC
4 bytes
FTIME
4 bytes
Bits
Descripcin
0-4
5-10
11-15
16-20
21-24
25-31
UNP_VER
1 byte
METHOD
1 byte
Mtodo de compresin
0x30
0x31
0x32
0x33
0x34
0x35
sin comprimir
compresin muy rpida
compresin rpida
compresin normal
buena compresin
la mejor compresin
NAME_SIZE
2 bytes
ATTR
4 bytes
FILE_NAME
SALT
8 bytes
EXT_TIME
presente si (HEAD_FLAGS & 0x1000) != 0
tamao variable
otros nuevos campos se pueden aadir aqu.
==========================================================================
Notas para aplicaciones
==========================================================================
1. Para procesar archivos SFX es necesario omitir el mdulo SFX,
buscando el bloque de identificacin en el archivo. No hay ninguna
secuencia de identificacin (0x52 0x61 0x72 0x21 0x1a 0x07 0x00) en
el mdulo SFX.
2. El CRC se calcula usando el polinomio estndar 0xEDB88320. En el
caso de que el tamao del CRC sea menor de 4 bytes, slo los bytes
de orden ms bajo sern usados.