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.

NPK Archive - New Compression?

Featured Replies

  • Author
  • Localization

akderebur, posted Wed Oct 03, 2018 2:24 pm (38995)


I have encountered a npk archive in a new Netease game, that seems to be a bit different from previous npks. Here is a small sample : http://www.mediafire.com/file/5ri6f7hhr ... n.npk/file

ToC and the files don't seem to be encrypted. The "nxpk.bms" is still valid for reading the ToC (no change there), but I have just noticed that the "FLAGS" value is mostly 1 now. It was 0 for zstd, and 2 for lz4 in previous npks. So I was thinking maybe a different compression type?

I don't know the english name of the game, that is why I didn't mention it. This is the app store page for it : Store Link
  • Author
  • Localization

aluigi, posted Wed Oct 03, 2018 3:09 pm (38999)


Interesting, this new compression has the first byte starting ever with 0xe9 but FLAGS is the same for both this type and the normal zlib, example:
Code:
. 00000062
. 001c9e54 get     NAME_CRC   0x3aacd148 4
. 001c9e58 get     OFFSET     0x000539c4 4
. 001c9e5c get     ZSIZE      0x000000a9 4
. 001c9e60 get     SIZE       0x0000010d 4
. 001c9e64 get     ZCRC       0x1603475f 4
. 001c9e68 get     CRC        0x663665d7 4
. 001c9e6c get     FLAGS      0x00000001 4
  000539c4 269        00000062.dat <-- this is zlib
.
. 00000063
. 001c9e70 get     NAME_CRC   0x3b3cc79b 4
. 001c9e74 get     OFFSET     0x0005c1e8 4
. 001c9e78 get     ZSIZE      0x000001db 4
. 001c9e7c get     SIZE       0x00000523 4
. 001c9e80 get     ZCRC       0xf7d6aab3 4
. 001c9e84 get     CRC        0x4c6c7f67 4
. 001c9e88 get     FLAGS      0x00000001 4
  0005c1e8 1315       00000063.dat <-- this is the new compression

I tried only replacing zlib with zlibx and it didn't work.
I didn't try anything else.
  • Author
  • Localization

akderebur, posted Wed Oct 03, 2018 9:39 pm (39022)


Weird. Do you think it is some kind of zlib variant? I don't think they would come up with a whole new compression method.
  • Author
  • Localization

aluigi, posted Wed Oct 03, 2018 10:38 pm (39025)


I have no theories at the moment
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.