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

Identity V Assets (.npk) zlib compression

Featured Replies

  • Supporter
8 minutes ago, Zambies said:

im sorry for question but when i run exe it show console flash then never does anything else 😥 do i put exe somewhere special or download other files? i put on desktop and ran 😥 sry

This is a command-line tool, you'll need to run it through cmd or any other console.

  • Replies 116
  • Views 25k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • ʚ Sarahtonin ɞ
    ʚ Sarahtonin ɞ

    Lot of great work being done in this thread, I've done a Lot of IDV extracting with the old QuickBMS scripts initially shared around on Xentax, and thankfully was able to back up all the files from be

  • TeaEffTeu
    TeaEffTeu

    This update will take longer to write since I have to analyze the headers of every file in IDV's archives to find patterns. Hopefully, every extracted file will have proper file extensions.

  • TeaEffTeu
    TeaEffTeu

    Identity V does not provide the original file names.

Posted Images

  • 3 weeks later...
On 2/10/2025 at 9:32 PM, Zambies said:

thank u!!! it works well now!! 🙌

Heyy could you please tell me how you ran that tool? I tried cmd but this is what its showing. I don't know how to navigate beyond this. 

Screenshot (99).png

  • Supporter

You can run `nxre help export` for more info. Otherwise, just run `nxre export file.npk` to quickly export one or more NPKs.

On 3/4/2025 at 6:49 PM, TeaEffTeu said:

You can run `nxre help export` for more info. Otherwise, just run `nxre export file.npk` to quickly export one or more NPKs.

What is the string of characters that we need to type in the cmd after the `nxre help export`? 

sorry actually i don't have much idea on how to use cmd so i just need to know what exactly to type in.

15 hours ago, Aerlene_ said:

What is the string of characters that we need to type in the cmd after the `nxre help export`? 

sorry actually i don't have much idea on how to use cmd so i just need to know what exactly to type in.

example: ./nxre.exe export res.npk

  • 2 weeks later...
  • Author
  • Supporter

Is there a bms script or other script that decrypts nxs3 available, I have tried multiple nxs3 decryption scripts since the text file was encrypted to nxs3, but they all have errors
I've also tried writing scripts from quickbms myself, but it seems to be prompting for related errors for the key

Edited by wq223

  • Supporter
14 minutes ago, wq223 said:

Is there a bms script or other script that decrypts nxs3 available, I have tried multiple nxs3 decryption scripts since the text file was encrypted to nxs3, but they all have errors
I've also tried writing scripts from quickbms myself, but it seems to be prompting for related errors for the key

I believe NeoXtractor does, but I'm not sure if the latest research has been published.

  • 2 weeks later...

似乎已经更新了加密版本,对于新的script.npk所开包的文件全是nxs3,目前还有bms的更新脚本吗?

  • Author
  • Supporter
2 hours ago, Zhang189509 said:

似乎已经更新了加密版本,对于新的script.npk所开包的文件全是nxs3,目前还有bms的更新脚本吗?

 

2 hours ago, Zhang189509 said:

似乎已经更新了加密版本,对于新的script.npk所开包的文件全是nxs3,目前还有bms的更新脚本吗?

There is a tool written by a master on github, denpk2, but because the required dependency pytools was deleted by master, the program cannot be compiled and run. I deleted other contents of this tool and canceled the pytools dependency, only targeted the decryption logic of nxs3, and adjusted the script

All .nxs files in one folder can now be processed in batches and outputted to another folder

Just locate the Cargo.toml directory and use

cargo build --release command compiler

You will get a new folder and include the executable program

Create a folder to import the .nxs file and run the executable command

cargo run --release -- input folder output folder

denpk2.zip

On 3/20/2025 at 6:06 AM, TeaEffTeu said:

NPK 似乎以一种新的格式加密。

Is this doable?

  • Supporter
9 hours ago, ymnex said:

Is this doable?

Unfortunately, the NPK has an encrypted header (this is new) and an updated index table format (and possibly also encrypted). Without knowing either of the encryption methods/keys, it's incredibly difficult. It's not feasible to come up with a clean solution without brute forcing each NPK.

So now the npk have a newer encryption,There seems to be no perfect solution at the moment。So sadly。

On 4/2/2025 at 4:31 AM, TeaEffTeu said:

不幸的是,NPK 有一个加密的标头(这是新的)和更新的索引表格式(可能也是加密的)。在不知道任何加密方法/密钥的情况下,这非常困难。如果不对每个 NPK 进行暴力破解,就想出一个干净的解决方案是不可行的。

I extracted npk files from an installation package from 2018 and found there's no standard header. This seems to have been the case for many years.

  • Author
  • Supporter
37 minutes ago, ymnex said:

我从 2018 年的安装包中提取了 npk 文件,发现没有标准头文件。这种情况似乎已经持续了很多年了。

I'm very interested in knowing which game this is, is it that every file keeps the same head? It seems to be valid plaintext after the head, but not sure if it contains compression

23 hours ago, wq223 said:

I'm very interested in knowing which game this is, is it that every file keeps the same head? It seems to be valid plaintext after the head, but not sure if it contains compression

lifeafter.exe

The header of each NPK file is different.

23 hours ago, wq223 said:

I'm very interested in knowing which game this is, is it that every file keeps the same head? It seems to be valid plaintext after the head, but not sure if it contains compression

script.py3.npk is the core file where all game logic is contained.

On 4/2/2025 at 4:31 AM, TeaEffTeu said:

Unfortunately, the NPK has an encrypted header (this is new) and an updated index table format (and possibly also encrypted). Without knowing either of the encryption methods/keys, it's incredibly difficult. It's not feasible to come up with a clean solution without brute forcing each NPK.

Actually, currently there's only one cracking method, which is to examine the decryption process through IDA debugging. The NPK contains a decryption script with a unique key and modified opcodes. To be precise, in the Android client, the .so file functions like a virtual machine and custom interpreter. The underlying decryption is still implemented using Python scripts.

Because some NPK files and documentation have already indicated this, they do contain decryption functions. This decryption process is implemented in the libclient.so file. And the game I found has a PC version, which is more suitable for debugging.

  • Author
  • Supporter
3 hours ago, ymnex said:

script.py3.npk 是包含所有游戏逻辑的核心文件。

I remember that scripts are usually found in script.npk file. Has this been renamed?

1 hour ago, wq223 said:

I remember that scripts are usually found in script.npk file. Has this been renamed?

It should involve unpacking or decryption functions, but we'll only know for sure after debugging.

  • Author
  • Supporter
2 hours ago, ymnex said:

It should involve unpacking or decryption functions, but we'll only know for sure after debugging.

script.npk seems to be some kind of special encryption, that is, it is not zlib compressed nxs, nor is it a rot starting with 1D04.
I can't tell the logic at the moment, it seems to use a more advanced encryption method, they don't have the same byte statement that the key is also dynamically adjusted like nxs
Outside script.npk, other patches seem to contain zstd compression, I can't find the index part, so I tried brute force extraction
I used to unpack another game before
The files you provide, they do not seem to have zstd compressed flags, which are very similar to uncompressed files, but they are extracted and cannot be used
In the file you provide, it seems that each file is preceded by F2 00
I also found something interesting
The first 16 bytes of each file should be the same (probably some kind of validation or something)
I used brute force teardown script before, if needed, only patches with zstd compression

cj.py jy.py fl.py

19 hours ago, wq223 said:

script.npk seems to be some kind of special encryption, that is, it is not zlib compressed nxs, nor is it a rot starting with 1D04.
I can't tell the logic at the moment, it seems to use a more advanced encryption method, they don't have the same byte statement that the key is also dynamically adjusted like nxs
Outside script.npk, other patches seem to contain zstd compression, I can't find the index part, so I tried brute force extraction
I used to unpack another game before
The files you provide, they do not seem to have zstd compressed flags, which are very similar to uncompressed files, but they are extracted and cannot be used
In the file you provide, it seems that each file is preceded by F2 00
I also found something interesting
The first 16 bytes of each file should be the same (probably some kind of validation or something)
I used brute force teardown script before, if needed, only patches with zstd compression

cj.py 2.14 kB · 3 downloads jy.py 1.89 kB · 5 downloads fl.py 2.25 kB · 3 downloads

success

Unpacked.zip

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.