New Robinson - DAN files

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Nicknine
Posts: 18
Joined: Tue May 29, 2018 9:07 pm

New Robinson - DAN files

Post by Nicknine »

So I got a Russian game called "Новый Робинзон" and it has all the assets packed into these DAN/DAT files.
Samples: https://www76.zippyshare.com/v/404Elb33/file.html
Here's what I got on them so far:
0x00 - header magic (NL)
0x04 - number of files
0x06 - number of files again
0x0E - seems to always be 0xBAAB
0x10 - uncompressed size
0x14 - compressed size
0x20 - for each file: 0x20 bytes of unknown data

After that there are actual files with start offsets aligned to 0x04 bytes. Files are usually compressed but some DAN files are uncompressed in which case uncompressed size is same as compressed size.
What I want find out is what this data at 0x20 is and the compression used.
Last edited by Nicknine on Sat May 16, 2020 6:12 pm, edited 1 time in total.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: New Robinson - DAN files

Post by aluigi »

The format is simple but the compression is a small variation of lzss that I have not been able to identify.

Work-in-progress script (DOES NOT WORK):

Code: Select all

idstring "NL"
get DUMMY short # 0x100
get BLOCKS short
get BLOCKS short
getdstring ZERO 6
get DUMMY short # 0xabba
get SIZE long
get ZSIZE long
goto 0x20
for i = 0 < BLOCKS
    getdstring DUMMY 0x20
next i
savepos OFFSET
comtype lzss #"11 4 2 2 0x20"
get NAME basename
string NAME + ".txt"
clog NAME OFFSET ZSIZE SIZE