[help] client data structure

02/08/2015 18:05 colonelx#1
hi
i want to create my own client data packer/unpacker
but i really need some help to understand it's structure
before start working
if any one could help plz :confused:
02/08/2015 21:24 Aurorauser#2
[Only registered and activated users can see links. Click Here To Register...]
02/08/2015 22:01 gr4ph0s#3
[Only registered and activated users can see links. Click Here To Register...]

Maybe something on the first post can help you.... (Is not an ask I affirm it...)
02/08/2015 22:11 XavierDeFawks#4
I will post the structure later.

Rappelz uses the exclusive or method for data encryption in the data files with this key phrase.


Data.000 is simply a list of file info with this structure
you must apply the xor after reading each piece of data
byte size;
byte filename[size]; < with the same hash system used in the resource folder
byte data[8]
data[1 - 4] = offset of file within data file
data[5 - 8] = size of file
and you get the data file that the file is it by apply a calculation to hash of the name with all characters lowered
with that method you will get the data id - 1
and then data 001 - 008 is just the file data

these file extensions are excluded from the xor
02/10/2015 13:54 Aurorauser#5
Hi exiled ccreator programing source code language ?
02/11/2015 19:42 glandu2#6
For C source code of the data file number, see here [Only registered and activated users can see links. Click Here To Register...]
For each lowercase letter of the hash:
checksum = 31*checksum + ascii code of the letter

IIRC xXExiledXx also released an open source tool in C# to read data.00x, but didn't find it in [Only registered and activated users can see links. Click Here To Register...]
02/18/2015 19:30 colonelx#7
thanks xXExiledXx and glandu2

xXExiledXx , if i want to modify data files what should i do so
i can modify data.00* without destroy it's structure

modify like delete file or insert new file or replace exist file
02/18/2015 19:40 XavierDeFawks#8
The fastest way I have found so far although I do not enjoy it, is to simply leave the file data and modify the entry from Data.000. And to insert a new file simple append the files data to the end of the Data.00* file and insert a new entry into Data.000.
02/19/2015 05:57 colonelx#9
Ok thanks .. finally i did it