Anno 1701 RDA: Difference between revisions
imported>Xennex No edit summary |
imported>Ikskoks No edit summary |
||
| (12 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
{{GRAFTemplate1| | {{GRAFTemplate1| | ||
file_extension=*.rda| | file_extension=*.rda| | ||
format_type= | format_type=Archive| | ||
endian_order=Little Endian| | endian_order=Little Endian| | ||
date_posted=22:10, | date_posted=22:10, January 7, 2007| | ||
format_specifications= | format_specifications= | ||
<tt> | <tt> | ||
<b> | <b> | ||
Char { | {{InlineComment|//header}}<br> | ||
byte { | Char {26} - header {{Constant|("Crypted Resource File V1.1")}}<br> | ||
uint32 {4} - | byte {230} - reserved<br> | ||
{{ | uint32 {4} - number of files<br> | ||
Char {256} - | {{InlineComment|//dictionary}}<br> | ||
uint32 {4} - | Char {256} - filename<br> | ||
uint32 {4} - | uint32 {4} - file offset<br> | ||
uint32 {4} - | uint32 {4} - file size {{InlineComment|(compressed)}}<br> | ||
uint32 | uint32 {4} - file size {{InlineComment|(decompressed)}}<br> | ||
uint32 (4) - compression flag {{InlineComment|(7:compressed)}}<br> | |||
uint32 {4} - timestamp<br> | |||
{{ | {{InlineComment|//data}}<br> | ||
byte {x} - | byte {x} - files<br> | ||
</b></tt>| | </b></tt>| | ||
notes=Das Archiv enthält komprimierte und unkomprimierte Daten,<br> | notes=Das Archiv enthält komprimierte(deflate) und unkomprimierte Daten,<br> | ||
die | Kopf und Verzeichnis sind einzeln verschlüsselt. Hier der Algorithmus:<br> | ||
(anzahl ist die Größe des Blocks durch 2, also für den Kopf = 130)<br> | |||
English: | |||
The archive contains compressed(deflate) and uncompressed data, <br> | |||
header and dictionary are separately encrypted. Here is the algorithm: <br> | |||
(anzahl is the size of the block divided by 2, for the head = 130)<br> | |||
mov ebx, puffer<br> | |||
mov ecx,0<br> | |||
mov x,0xA2C2A<br> | |||
start:<br> | |||
mov eax,x<br> | |||
imul eax,eax,0x343FD<br> | |||
add eax,0x269EC3<br> | |||
mov x,eax<br> | |||
shr eax,0x10<br> | |||
and eax,0x7FFF<br> | |||
mov ebx, ecx<br> | |||
shl ebx, 1<br> | |||
add ebx, puffer<br> | |||
xor word ptr [ebx], ax<br> | |||
inc ecx<br> | |||
cmp ecx, anzahl<br> | |||
jb start| | |||
bms_script=Not written yet| | bms_script=Not written yet| | ||
programs= | programs=AnnoEx (available [http://www.gameformats.de.vu here])| | ||
documentation=None| | documentation=None| | ||
games= | games=Anno 1701 | ||
}} | }} | ||
[[Category:XOR encryption]] | |||
[[Category:File Format]] | |||
Latest revision as of 14:22, 4 April 2021
Back to index | Edit this page
*.rda
{{GRAFPageMisc{{ subst:#if: Archive | {{subst:!}}Archive }}{{ subst:#if: Little Endian | {{subst:!}}Little Endian }}}}
Format Specifications
//header
Char {26} - header ("Crypted Resource File V1.1")
byte {230} - reserved
uint32 {4} - number of files
//dictionary
Char {256} - filename
uint32 {4} - file offset
uint32 {4} - file size (compressed)
uint32 {4} - file size (decompressed)
uint32 (4) - compression flag (7:compressed)
uint32 {4} - timestamp
//data
byte {x} - files
Notes and Comments
Das Archiv enthält komprimierte(deflate) und unkomprimierte Daten,
Kopf und Verzeichnis sind einzeln verschlüsselt. Hier der Algorithmus:
(anzahl ist die Größe des Blocks durch 2, also für den Kopf = 130)
English:
The archive contains compressed(deflate) and uncompressed data,
header and dictionary are separately encrypted. Here is the algorithm:
(anzahl is the size of the block divided by 2, for the head = 130)
mov ebx, puffer
mov ecx,0
mov x,0xA2C2A
start:
mov eax,x
imul eax,eax,0x343FD
add eax,0x269EC3
mov x,eax
shr eax,0x10
and eax,0x7FFF
mov ebx, ecx
shl ebx, 1
add ebx, puffer
xor word ptr [ebx], ax
inc ecx
cmp ecx, anzahl
jb start
MultiEx BMS Script
Not written yet
Supported by Programs
AnnoEx (available here)
Documentation
None
Games
Anno 1701