dat file [Hot lava]

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
PsyXo
Posts: 41
Joined: Sun Jan 08, 2017 7:17 pm

dat file [Hot lava]

Post by PsyXo »

Welcome to the forum, need help unpacking, and back packaging dat file, unfortunately I do not know the name of the game, I only know that the developer "Hot lava".
P/S: if it is possible, the packer can pack files of any size.

Thank you in advance for your help.

file reference: https://cloud.mail.ru/public/CFyy/z1wNTGy95
Delutto
Posts: 561
Joined: Tue Oct 13, 2015 1:26 pm

Re: dat file

Post by Delutto »

It's unlikely that anyone will download a file of 900MB size just to analyze it, so upload the 2 files generated by the following quickbms script when you use it with the archive of the game:
http://aluigi.org/bms/filecutter.bms
PsyXo
Posts: 41
Joined: Sun Jan 08, 2017 7:17 pm

Re: dat file

Post by PsyXo »

aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: dat file [Hot lava]

Post by aluigi »

I have made the script but there is something wrong with the filenames:
http://aluigi.org/bms/hot_java.bms

I have double-checked the script and it's all correct, all the fields are correctly parsed, TYPE 0 is the only one that must be considered, offsets of names are correct, BUT the results are invalid.
Not my fault apparently but it would be great if someone can spot the error.
Acewell
Posts: 706
Joined: Fri Aug 08, 2014 1:06 am

Re: dat file [Hot lava]

Post by Acewell »

i think this was the error :D

Code: Select all

    if TYPE == 1

should be

Code: Select all

    if TYPE == 0

but i was still having problems with the file names until i changed the memory_file stuff,
this works for me :)

Code: Select all

# Hot Lava developers

idstring "\xce\xde\xed\xec"
get VER long
get OFFSET longlong
get ZERO longlong
goto OFFSET
get FILES long
for i = 0 < FILES
    get OFFSET longlong
    get SIZE longlong
    get TYPE long
    get NAME_OFF long
    putarray 0 i OFFSET
    putarray 1 i SIZE
    putarray 2 i TYPE
    putarray 3 i NAME_OFF
next i
get NAMES_SIZE long
savepos TMP
for i = 0 < FILES
    getarray OFFSET 0 i
    getarray SIZE 1 i
    getarray TYPE 2 i
    getarray NAME_OFF 3 i
    math NAME_OFF + TMP
    goto NAME_OFF
    get NAME string
    if TYPE == 0
        log NAME OFFSET SIZE
    endif
next i
Last edited by Acewell on Sun Jan 27, 2019 10:25 pm, edited 1 time in total.
PsyXo
Posts: 41
Joined: Sun Jan 08, 2017 7:17 pm

Re: dat file [Hot lava]

Post by PsyXo »

Acewell

Thank you very much, the script works as expected, but I have a question, will the script pack the edited files, the size of which exceeds the size of the original file?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: dat file [Hot lava]

Post by aluigi »

Ah yeah that TYPE 1 was a test I was doing and wasn't meant for release :)
The problem is with the names
PsyXo
Posts: 41
Joined: Sun Jan 08, 2017 7:17 pm

Re: dat file [Hot lava]

Post by PsyXo »

aluigi

How to make quick bms pack files larger than the original file size?, back he packs with an error, writes that the modified file exceeds the size of the original, if you pack with the force command, the game crashes, he is far from programming.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: dat file [Hot lava]

Post by aluigi »

In this case the script uses arrays and I don't remember if they are supported in reimport2.
Have you tried re-extracting the edited archive and checked if the files are correct?
PsyXo
Posts: 41
Joined: Sun Jan 08, 2017 7:17 pm

Re: dat file [Hot lava]

Post by PsyXo »

Yes, re-extracted, the text of the game takes, but the texture does not want any, when you have to use the command force, the game starts and is played, but as soon as you switch to the edited texture, there is a crash game.

P/S: I don't know how, but it worked :mrgreen:
Thank you very much for your help.