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

Swordman (????OL)

Featured Replies

  • Author
  • Localization

CriticalError, posted Sat Aug 23, 2014 10:27 pm (254)


Image

Hello guys, well my reques is not to much because I have unpacker for this game, but the problem is models.pck no work, it give me error when try unpack, so I upload a source of unpacker so maybe can check it, I got a error say this.

PS: I know files can be unpacked with offzip, but offzip unpack all with random names and all in one folder and really format is tottaly different don't know why, this unpacker got all with native format, like:

DDS=Texture
SKI=3D Model
SKT=ANIMATION
BON=BONES

Quote:
D:\Swordsman\package>java -jar xapck.jar x models.pck
xiaoAo pack util version 2014.4.29
PCK: models.pck
Mode: extract
Files: 75323
Please...wait
Exception in thread "main" java.io.IOException: Negative seek offset
at java.io.RandomAccessFile.seek(Unknown Source)
at com.pakage.unPak(pakage.java:70)
at pak.main(pak.java:22)


Web: http://xa.wanmei.com/
Download: http://xa.wanmei.com/download/

Source Unpacker

http://puu.sh/b536d/411b224460.7z

Samples

http://puu.sh/b53L9/1064cac82d.7z
  • Author
  • Localization

aluigi, posted Sat Aug 23, 2014 10:49 pm (257)


I bet the problem is the usage of signed integer (max 2gb) because models.pck is the only archive bigger than 2gb.
  • Author
  • Localization

CriticalError, posted Sat Aug 23, 2014 10:55 pm (258)


aluigi wrote:
I bet the problem is the usage of signed integer (max 2gb) because models.pck is the only archive bigger than 2gb.
ummm but you can try the source unpacker for modify it? I check it myself and see seeks there, but really no idea what modify :S
  • Author
  • Localization

aluigi, posted Sat Aug 23, 2014 10:59 pm (260)


Unfortunately Java is not my language so I prefer to make no small changes that then may take me hours to debug.
  • Author
  • Localization

Ekey, posted Sat Aug 23, 2014 11:11 pm (261)


Long for java data type is a 64-bit signed two's complement integer. Dunno what the problem.
  • Author
  • Localization

aluigi, posted Sat Aug 23, 2014 11:15 pm (262)


The format is quite simple so for the extraction it's possible to try a simple script, check this one:
Code:
comtype unzip_dynamic
goto -8
get FILES long
goto -276
get INFO_OFF long
math INFO_OFF ^= 0x33C3EDDB
goto INFO_OFF
for i = 0 < FILES
    get HEAD long
    math HEAD ^= 0x62A4F9E1
    get FOOT long
    math FOOT ^= 0x3520C3D5
    savepos INFO_OFF
    clog MEMORY_FILE INFO_OFF HEAD 0x118
    math INFO_OFF = HEAD
    goto INFO_OFF

    getdstring NAME 260 MEMORY_FILE
    get OFFSET longlong  MEMORY_FILE
    get SIZE long MEMORY_FILE
    get ZSIZE long MEMORY_FILE
    if ZSIZE == SIZE
        log NAME OFFSET SIZE
    else
        clog NAME OFFSET ZSIZE SIZE
    endif
next i
  • Author
  • Localization

CriticalError, posted Sat Aug 23, 2014 11:21 pm (263)


omg many thanks aluigi and Ekey, really gratefull for your help, wonderfull, keep working mate.
Guest
This topic is now closed to further replies.

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.