Jade Dinasty 3 Update Package

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
CriticalError
Posts: 204
Joined: Thu Aug 14, 2014 8:52 pm

Jade Dinasty 3 Update Package

Post by CriticalError »

Hello guys, well today I try collect some information about angelica package and got file was change because can't use script updated by aluigi, maybe somebody can take a look this new samples and update script? would be grateful if can help, thanks a lot for all.

Image

Code: Select all

# Angelica File Package (script 0.3)
# script for QuickBMS http://quickbms.aluigi.org

comtype zlib_noerror
goto -16
math INFO_ZSIZE = 0
get TEST1 long
get TEST2 long  # no, the "\x42\xc1\x5d\xa7" magic is not constant, it can be anything or just zero
get FILES long
get FLAG1 short
get FLAG2 short

# FLAG 3.2 is used for both compressed and non compressed info! so let's guess it
if TEST1 != 0 && TEST2 != 0
    math INFO_ZSIZE = TEST2
elif TEST2 u< 0x1000000  # ???
    math INFO_ZSIZE = TEST2
endif

findloc TAIL_OFFSET string "Angelica File Package" 0 "" 0
if TAIL_OFFSET == ""
    print "Error: no magic 2 string found"
    cleanexit
endif

if FLAG2 <= 1
    math TAIL_OFFSET - 4
    goto TAIL_OFFSET
    get INFO_OFF long
else
    math TAIL_OFFSET - 12
    goto TAIL_OFFSET
    if FLAG1 <= 2 || INFO_ZSIZE != 0
        get FLAG long
        get INFO_OFF long
        math INFO_OFF ^ 0x62A4F9E1
    else
        get INFO_OFF long
        math INFO_OFF ^ 0x33C3EDDB

        get INFO_OFF64 long
        math INFO_OFF64 ^ 0x49ab7f1d
        if INFO_OFF64 != 0
            math INFO_OFF64 u<< 32
            math INFO_OFF + INFO_OFF64
        endif
    endif
    get ZERO long
endif

idstring "Angelica File Package"

if INFO_ZSIZE == 0
    xmath TMP "TAIL_OFFSET - INFO_OFF"
    log MEMORY_FILE10 INFO_OFF TMP
else
    clog MEMORY_FILE INFO_OFF INFO_ZSIZE INFO_ZSIZE
endif
for i = 0 < FILES
    if FLAG2 <= 1
        get NAMESZ long MEMORY_FILE10
        getdstring NAME NAMESZ MEMORY_FILE10
        get OFFSET long MEMORY_FILE10
        get SIZE long MEMORY_FILE10
        get ZSIZE long MEMORY_FILE10
    else
        if INFO_ZSIZE == 0
            get HEAD long MEMORY_FILE10
            math HEAD ^ 0x62A4F9E1
            get FOOT long MEMORY_FILE10
            math FOOT ^ 0x3520C3D5

            savepos TMP MEMORY_FILE10
            get ZERO long MEMORY_FILE10
            if ZERO != 0
                goto TMP MEMORY_FILE10
            else
                math HEAD - 4
            endif

            savepos INFO_OFF MEMORY_FILE10
            clog MEMORY_FILE INFO_OFF HEAD 0x118 MEMORY_FILE10
            math INFO_OFF + HEAD
            goto INFO_OFF MEMORY_FILE10
        endif

        getdstring NAME 260 MEMORY_FILE
        get OFFSET long  MEMORY_FILE
        get XSIZE long MEMORY_FILE
        get SIZE long MEMORY_FILE
        get ZSIZE long MEMORY_FILE
        if ZSIZE == 0   # some archives are different?!
            math ZSIZE = SIZE
            math SIZE = XSIZE
        endif
    endif

    if ZSIZE == SIZE
        log NAME OFFSET SIZE
    else
        clog NAME OFFSET ZSIZE SIZE
    endif
next i



Samples

https://www.mediafire.com/file/g67fhyr8 ... te.7z/file
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Jade Dinasty 3 Update Package

Post by aluigi »

It's a new format with each entry compressed separately.
I need the whole archive.
CriticalError
Posts: 204
Joined: Thu Aug 14, 2014 8:52 pm

Re: Jade Dinasty 3 Update Package

Post by CriticalError »

aluigi wrote:It's a new format with each entry compressed separately.
I need the whole archive.
ok here we go, hope can take a look into this aluigi thanks.

https://www.mediafire.com/file/z57o69fn ... ck.7z/file
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Jade Dinasty 3 Update Package

Post by aluigi »

Wasn't tempmodels.pck just 550 Mb?
CriticalError
Posts: 204
Joined: Thu Aug 14, 2014 8:52 pm

Re: Jade Dinasty 3 Update Package

Post by CriticalError »

aluigi wrote:Wasn't tempmodels.pck just 550 Mb?
no bro, the file was separated into models.pck and models.pckx, first you need merge two files and got this big file of 4.5GB into models.pck.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Jade Dinasty 3 Update Package

Post by aluigi »

You didn't have to concatenate the archives.
They must be extracted separately in a specific way.
I'm still working on the udpated script, stay tuned.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Jade Dinasty 3 Update Package

Post by aluigi »

Anyway I'm unable to find how the starting offset of the table is calculated.
Without it I can't extract the files
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Jade Dinasty 3 Update Package

Post by aluigi »

Ok, it's necessary to concatenate the file, it avoids to modify the script.
Version 0.3.1 now fully working:
http://aluigi.org/bms/angelica_file_package.bms
CriticalError
Posts: 204
Joined: Thu Aug 14, 2014 8:52 pm

Re: Jade Dinasty 3 Update Package

Post by CriticalError »

many thanks for your hard work luigi, grateul for help, have a nice day buddy.
CriticalError
Posts: 204
Joined: Thu Aug 14, 2014 8:52 pm

Re: Jade Dinasty 3 Update Package

Post by CriticalError »

eyy Luigi hello, I hace a question, maybe you can take a look into this new pck? still no working new update you do with script 0.3.2a, here I leave a samples, if you can take a look grateful.

https://www.mediafire.com/file/29nqo5g0 ... es.7z/file

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

Re: Jade Dinasty 3 Update Package

Post by aluigi »

Try using quickbms_4gb_files and let me know if it works.
CriticalError
Posts: 204
Joined: Thu Aug 14, 2014 8:52 pm

Re: Jade Dinasty 3 Update Package

Post by CriticalError »

aluigi wrote:Try using quickbms_4gb_files and let me know if it works.
Hello Good morning, thanks for reply, well is not work, this is the log.

offset filesize filename
--------------------------------------
Error: you must first concatenate PCK and PKX in one unique file, then use this script on it.

- 0 files found in 0 seconds
coverage file 0 0% 8220 3776064225 . offset 00000000e11229d5

it is as if it did not detect that the file is already joined, anyway the file size joined 3.51GB
Drawing
Posts: 112
Joined: Fri Aug 05, 2016 6:17 pm

Re: Jade Dinasty 3 Update Package

Post by Drawing »

Try using this unpacker made by beyastard and let us know if it works. Thanks.

https://mega.nz/#!w2BjyCJC!uUrZm-SW_WyY ... QsceZhAp1I

I remember it was working with December 2019 client.
CriticalError
Posts: 204
Joined: Thu Aug 14, 2014 8:52 pm

Re: Jade Dinasty 3 Update Package

Post by CriticalError »

Drawing wrote:Try using this unpacker made by beyastard and let us know if it works. Thanks.

https://mega.nz/#!w2BjyCJC!uUrZm-SW_WyY ... QsceZhAp1I

I remember it was working with December 2019 client.
it Works, nice, anyway if Luigi wanna take a look welcome :)
Drawing
Posts: 112
Joined: Fri Aug 05, 2016 6:17 pm

Re: Jade Dinasty 3 Update Package

Post by Drawing »

CriticalError wrote:
Drawing wrote:Try using this unpacker made by beyastard and let us know if it works. Thanks.

https://mega.nz/#!w2BjyCJC!uUrZm-SW_WyY ... QsceZhAp1I

I remember it was working with December 2019 client.
it Works, nice, anyway if Luigi wanna take a look welcome :)


recently the .bms script was updated to let swordsman online be supported by quickbms. I don't know if changing it could break the compatibily.
Anyway the unpacker I sent you works for every perfect world game except swordsman, in my opinion better have the possibility to unpack more game possible.