Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.
Zero Tolerance for Disrespect

Wo Long Fallen Dynasty Upheaval in Jingxiang

Featured Replies

Can someone help me, the files are not extracted completely and it gives this error

Error: offset in GetVarChr (0x0000000000000000) is bigger than the var (0x00000000)

Last script line before the error or that produced the error:
  115 GetVarChr MAGIC MEMORY_FILE 0 long
  coverage file 0     9%   1642288782 17675796095 . offset 0000000061ea2df2

Press ENTER or close the window to quit

fdata.rar

  • 3 months later...
  • 9 months later...

Made it skip errors

 

Comtype ZLIB
Get FILETOTALSIZE asize

if FILETOTALSIZE > 128

    Set IDRKOFFSET long 0x10

    Do

        Goto IDRKOFFSET
        Print "%IDRKOFFSET%"
        Getdstring MAGICVERSION 8 
        Get ENTRYSIZE longlong
        Get COMPSIZE longlong
        Get DECOMPSIZE longlong
        Get ENTRYTYPE long
        Get FILEKTID long
        Get TYPEINFOKTID long
        Set SKIP long ENTRYSIZE
        Math SKIP - COMPSIZE
        Math SKIP - 0x2C
        Goto SKIP 0 SEEK_CUR
        Savepos TEMP
        Print "%TEMP%"

        String FNAME p "0x%08x." FILEKTID
        String FEXT p "%08x" TYPEINFOKTID

        If TYPEINFOKTID == 0x563bdef1
            Set FULLNAME string "g1m/"
            String FNAME + "g1m"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x6fa91671
            Set FULLNAME string "g1a/"
            String FNAME + "g1a"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0xafbec60c
            Set FULLNAME string "g1t/"
            String FNAME + "g1t"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x20a6a0bb
            Set FULLNAME string "kidsobjdb/"
            String FNAME + "kidsobjdb"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x5153729b || TYPEINFOKTID == 0xb340861a
            Set FULLNAME string "mtl/"
            String FNAME + "mtl"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x8e39aa37 || TYPEINFOKTID == 0xbe144b78
            Set FULLNAME string "ktid/"
            String FNAME + "ktid"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x56efe45c || TYPEINFOKTID == 0xbbf9b49d
            Set FULLNAME string "grp/"
            String FNAME + "grp"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0xbbd39f2d
            Set FULLNAME string "srsa/"
            String FNAME + "srsa"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x0d34474d
            Set FULLNAME string "srst/"
            String FNAME + "srst"
            String FULLNAME + FNAME
        Else
            Set FULLNAME string FEXT
            String FULLNAME + "/"
            String FNAME + FEXT
            String FULLNAME + FNAME
        Endif

        Savepos OFFSET

        If COMPSIZE == DECOMPSIZE
            Get MAGIC long 0 OFFSET
            If MAGIC == 1194412127
                Set FULLNAME string "g1h/"
                String FNAME p "0x%08x." FILEKTID
                String FNAME + "g1h"
                String FULLNAME + FNAME
            Endif
            Log FULLNAME OFFSET DECOMPSIZE
        Else
            Set MEMORY_FILE binary ""
            Append
            Do
                If DECOMPSIZE <= 0
                    Print "Skipping due to invalid DECOMPSIZE at offset %OFFSET%"
                    Break
                Endif
                Get ZSIZE short
                Get Junk longlong
                Savepos OFFSET
                If ZSIZE > DECOMPSIZE
                    Print "ZSIZE is larger than remaining DECOMPSIZE, skipping entry."
                    Break
                Endif
                If DECOMPSIZE > 16384
                    Clog MEMORY_FILE OFFSET ZSIZE 16384
                    Math DECOMPSIZE - 16384
                Else
                    Clog MEMORY_FILE OFFSET ZSIZE DECOMPSIZE
                    Math DECOMPSIZE - DECOMPSIZE
                Endif
                Math OFFSET + ZSIZE
                Goto OFFSET 
            While DECOMPSIZE > 0
            Append

            Get LSIZE asize MEMORY_FILE
            If LSIZE > 0
                GetVarChr MAGIC MEMORY_FILE 0 long
                Print "%MAGIC%"
                If MAGIC == 1194412127
                    Set FULLNAME string "g1h/"
                    String FNAME p "0x%08x." FILEKTID
                    String FNAME + "g1h"
                    String FULLNAME + FNAME
                Endif
                Log FULLNAME 0 LSIZE MEMORY_FILE
            Endif
        Endif

        Math ENTRYSIZE x 0x10
        Math IDRKOFFSET + ENTRYSIZE

    While IDRKOFFSET < FILETOTALSIZE

Endif

 

  • 5 weeks later...
On 1/9/2025 at 12:13 PM, WindShadowRuins said:

Made it skip errors

 

Comtype ZLIB
Get FILETOTALSIZE asize

if FILETOTALSIZE > 128

    Set IDRKOFFSET long 0x10

    Do

        Goto IDRKOFFSET
        Print "%IDRKOFFSET%"
        Getdstring MAGICVERSION 8 
        Get ENTRYSIZE longlong
        Get COMPSIZE longlong
        Get DECOMPSIZE longlong
        Get ENTRYTYPE long
        Get FILEKTID long
        Get TYPEINFOKTID long
        Set SKIP long ENTRYSIZE
        Math SKIP - COMPSIZE
        Math SKIP - 0x2C
        Goto SKIP 0 SEEK_CUR
        Savepos TEMP
        Print "%TEMP%"

        String FNAME p "0x%08x." FILEKTID
        String FEXT p "%08x" TYPEINFOKTID

        If TYPEINFOKTID == 0x563bdef1
            Set FULLNAME string "g1m/"
            String FNAME + "g1m"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x6fa91671
            Set FULLNAME string "g1a/"
            String FNAME + "g1a"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0xafbec60c
            Set FULLNAME string "g1t/"
            String FNAME + "g1t"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x20a6a0bb
            Set FULLNAME string "kidsobjdb/"
            String FNAME + "kidsobjdb"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x5153729b || TYPEINFOKTID == 0xb340861a
            Set FULLNAME string "mtl/"
            String FNAME + "mtl"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x8e39aa37 || TYPEINFOKTID == 0xbe144b78
            Set FULLNAME string "ktid/"
            String FNAME + "ktid"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x56efe45c || TYPEINFOKTID == 0xbbf9b49d
            Set FULLNAME string "grp/"
            String FNAME + "grp"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0xbbd39f2d
            Set FULLNAME string "srsa/"
            String FNAME + "srsa"
            String FULLNAME + FNAME
        Elif TYPEINFOKTID == 0x0d34474d
            Set FULLNAME string "srst/"
            String FNAME + "srst"
            String FULLNAME + FNAME
        Else
            Set FULLNAME string FEXT
            String FULLNAME + "/"
            String FNAME + FEXT
            String FULLNAME + FNAME
        Endif

        Savepos OFFSET

        If COMPSIZE == DECOMPSIZE
            Get MAGIC long 0 OFFSET
            If MAGIC == 1194412127
                Set FULLNAME string "g1h/"
                String FNAME p "0x%08x." FILEKTID
                String FNAME + "g1h"
                String FULLNAME + FNAME
            Endif
            Log FULLNAME OFFSET DECOMPSIZE
        Else
            Set MEMORY_FILE binary ""
            Append
            Do
                If DECOMPSIZE <= 0
                    Print "Skipping due to invalid DECOMPSIZE at offset %OFFSET%"
                    Break
                Endif
                Get ZSIZE short
                Get Junk longlong
                Savepos OFFSET
                If ZSIZE > DECOMPSIZE
                    Print "ZSIZE is larger than remaining DECOMPSIZE, skipping entry."
                    Break
                Endif
                If DECOMPSIZE > 16384
                    Clog MEMORY_FILE OFFSET ZSIZE 16384
                    Math DECOMPSIZE - 16384
                Else
                    Clog MEMORY_FILE OFFSET ZSIZE DECOMPSIZE
                    Math DECOMPSIZE - DECOMPSIZE
                Endif
                Math OFFSET + ZSIZE
                Goto OFFSET 
            While DECOMPSIZE > 0
            Append

            Get LSIZE asize MEMORY_FILE
            If LSIZE > 0
                GetVarChr MAGIC MEMORY_FILE 0 long
                Print "%MAGIC%"
                If MAGIC == 1194412127
                    Set FULLNAME string "g1h/"
                    String FNAME p "0x%08x." FILEKTID
                    String FNAME + "g1h"
                    String FULLNAME + FNAME
                Endif
                Log FULLNAME 0 LSIZE MEMORY_FILE
            Endif
        Endif

        Math ENTRYSIZE x 0x10
        Math IDRKOFFSET + ENTRYSIZE

    While IDRKOFFSET < FILETOTALSIZE

Endif

 

It's a little bit off topic here, but I tried this modeified script on Dynasty Warriors Origins's .fdata files. It turns out super fine, but still got some errors. And I have no idea what caused it.

微信图片_20250208002143.png

Edited by Kanbara

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.