New Game Updates encrypted control.nacp?

  • Thread starter Thread starter AmeliaFox
  • Start date Start date
  • Views Views 655
  • Replies Replies 8

AmeliaFox

Well-Known Member
Member
Joined
Jan 25, 2026
Messages
190
Reaction score
208
Trophies
0
Age
25
XP
433
Country
United Kingdom
Usually we can unpack an nsp and nca files then extract the game name and developer from control.nacp for use in some homebrew programs on PC. Recently I've come across some game updates like - Super Mario Bros Wonder [010015100B514800] [Update 4 (v262144)] which has an encrypted control.nacp so I can't read the game name or developer from it. Does anyone know if this is packed information or if it's encrypted data? If encrypted how do we decrypt it?

It's only been on a few games updated from nintendo so far that I've seen this on, maybe it will affect some homebrew/game installers and these will need to be updated. I searched for info on this but couldn't find anything. Does anyone here have any information about this?
 
Last edited by AmeliaFox,
I doubt it's encrypted. Likely compressed using deflate. Check libnx issues / pr to track progress of it. Should be easy to write your own pc tool to decompress it. Just vibe it if you don't know how.
 
  • Like
Reactions: AmeliaFox
I doubt it's encrypted. Likely compressed using deflate. Check libnx issues / pr to track progress of it. Should be easy to write your own pc tool to decompress it. Just vibe it if you don't know how.
I don't think it's compressed as it's the same size as all others - (16,384 bytes). But with a hex editor the information is unreadable.
 
  • Like
Reactions: AllOver
I don't think it's compressed as it's the same size as all others - (16,384 bytes). But with a hex editor the information is unreadable.
It's not the whole nacp that's compressed, just the language entries. The nacp itself remains the same size I believe.
 
  • Like
Reactions: AmeliaFox
It's not the whole nacp that's compressed, just the language entries. The nacp itself remains the same size I believe.
Untitled.png

What type of compression is that? I've tried extracting the sections and using 7zip with various compression types, a search with google for the header doesn't bring up anything.
 
It's raw deflate data. The first 2 bytes are the size and the rest of the data is compressed. The size is 0x012A from that screenshot. You can verify that's correct because all the data after that offset is 00s (padding).
 
  • Like
Reactions: AmeliaFox
Do you know any apps to deflate/unpack these sections,? I've tried using this site - cyberchef.io deflate raw, but deflate text just shows gibberish, I've tried to find a program called offzip but can't find any links and the source code doesn't compile. The I tried using poweshell but that threw up errors. 7zip in all modes fails. Then I tried a python script and that didn't work.
 
Last edited by AmeliaFox,
Try to look at the PR in the NxFileViewer repo, it contains all the offsets & logic for the new compressed block.

You could use that as a reference !

Edit : there is discussion about this in the issues section in libnx repo too
 
  • Like
Reactions: AmeliaFox
Never mind, I created a program to unpack the data and it's working now. Thanks for the tips.
Untitled.png

I extracted that packed section at the start (removed the first two bytes), and then I could unpack the data to get the game name. That's all I needed. I'll make some small updates to the program I made the code to read the first 2 bytes of control.nacp to get the size and then read the code to raw data so I don't need to create a temp file. Thanks for the info.
Post automatically merged:

Untitled.png


Here you go, I made a small program to unpack these packed control.nacp files. It works like this: checks control.nacp at offset 0x3216 to check the byte to see if a packed flag is set. If the file is not packed the program exists, if it is packed it jumps to offset 0x02 and then unpacks the file using zlib and saves the output file. The output file is then readable and can then be used for various things - like in other programs.

EDIT: Source code posted - use visual studio 2026 to compile it.
 

Attachments

Last edited by AmeliaFox,
  • Like
Reactions: DOCKY99 and nothor

Site & Scene News

Popular threads in this forum