NetEase ZZZ4 (Messiah Engine)

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Ovilivo
Posts: 3
Joined: Sun Dec 25, 2022 10:55 am

NetEase ZZZ4 (Messiah Engine)

Post by Ovilivo »

Hello. Im trying to get the .png files from the game "dawn of isles"(closed now) by NetEase on MESSIAH game engine.

It looks like it compressed with ZZZ4.
There are 3 strange files format: two of them just "numbers" file type "1" and "4", and other one has no filetype.
I've tried many quickbms scripts last week. Only one worked well but those decompressed files were not images. (Dont know what those..textures?).
Still figuring out how i'd make mine quickbms script. Realized gotta ask for help.

I've made a part of that game package files in rar 43mb. (those folders with numbers) and some files outside if its help u. That one is from IOS. Inside APK for android the same story cz i saw it after uncompressed the mpk's.
https://www.mediafire.com/file/0lpn7k0l ... e.rar/file

HxD screens...
file type: "1"
Image
--------

file type: "4"
Image
--------

file type: no type at all
Image
--------
mrmemmo_
Posts: 46
Joined: Sat Mar 16, 2019 1:21 pm

Re: NetEase ZZZ4 (Messiah Engine)

Post by mrmemmo_ »

after ZZZ4 is size decompress type lz4
mrmemmo_
Posts: 46
Joined: Sat Mar 16, 2019 1:21 pm

Re: NetEase ZZZ4 (Messiah Engine)

Post by mrmemmo_ »

type bitmap rgba32 just in .1 file
mrmemmo_
Posts: 46
Joined: Sat Mar 16, 2019 1:21 pm

Re: NetEase ZZZ4 (Messiah Engine)

Post by mrmemmo_ »

width and height in 0xC or 0x2C
Ovilivo
Posts: 3
Joined: Sun Dec 25, 2022 10:55 am

Re: NetEase ZZZ4 (Messiah Engine)

Post by Ovilivo »

mrmemmo_ wrote:type bitmap rgba32 just in .1 file
well that was very helpfull :) so that was i looking for. didnt know there are pics.
i used lz4 script,
watching it in RAW and there are images.
now im figuring out how i gonna convert all of them. do u know any tools ?
or i just edit this bms script ?

Code: Select all

goto 0x20
get block_size long
get fsize asize
math fsize - 0x20
if block_size != fsize
    cleanexit
endif
get unk long
get fsize asize
savepos c_pos 
for i = 0
    get block_size long
    get unk long
    get zero long
    get bsize long

    set zsize = block_size
    math zsize - 0x18
    # Disorder (Messiah Game Engine) files decompressor
    getdstring ALGO 4
    if ALGO == "ZZZ4"
        comtype lz4
    elif ALGO == "LZMA"
        comtype lzma
    else
        comtype ""
    endif
    get bsize long
    savepos OFFSET

    string name = ""
    string name + i
    string name + "_"
    string name + ALGO
    string name + ".data"

    if ALGO == "ZZZ4"
        clog name OFFSET zsize bsize
    elif ALGO == "LZMA"
        clog name OFFSET zsize bsize
    else
        //ALGO NNNN ?????
        //log name c_pos block_size
    endif


    math c_pos + block_size
    goto c_pos
    if c_pos == fsize
        break
    endif
next i
Ovilivo
Posts: 3
Joined: Sun Dec 25, 2022 10:55 am

Re: NetEase ZZZ4 (Messiah Engine)

Post by Ovilivo »

how do i make it to put image attributes into new files
mrmemmo_
Posts: 46
Joined: Sat Mar 16, 2019 1:21 pm

Re: NetEase ZZZ4 (Messiah Engine)

Post by mrmemmo_ »

Use header dds