English 中文(简体)
Decoding NovaPack (NPK) binary format
原标题:

I am trying to extract & replace some of the assets in the Mac game "Luxor 3" with my own. Inside the Contents/Resources folder there is a big file called data.npk.

Opening it up in a hex editor, I see "NovaPack" in the header, and a number of strings referring to the filetypes I am looking to extract (in this case, ogg, for audio).

I have found several pieces of software on the internet claiming to unpack NPK files from other games, but all of them run on Windows and do not succeed in unpacking the data from this game.

I am a reasonably competent C programmer and could build a command line utility to extract the files I am looking for if I knew what the exact data format of the NPK file is. Presumably the header contains the "file name" of each packed file, and the offset and size of its contents. No doubt a piece of code inside the Luxor game reassembles the assets in memory based on this information.

Does anyone have any experience with this format specifically, or general advice on what the next steps would be towards decoding the structure of any proprietary data format?

问题回答

I think you might be interested in the NPK project. It s primarily in C so I believe it ll suit your purpose.

They even state this on the project s page:

If you re finding a platform independent, easy-to-use and secure packaging system, choose npk. It works on most modern operating systems and also supports powerful tools for manipulating your package.





相关问题
2 mysql instances in MAC

i recently switched to mac. first and foremost i installed xampp. then for django-python-mysql connectivity, i "somehow" ended up installing a seperate MySQL. now the seperate mysql installation is ...

Iterating over string/strlen with umlauted characters

This is a follow-up to my previous question . I succeeded in implementing the algorithm for checking umlauted characters. The next problem comes from iterating over all characters in a string. I do ...

Controlling OSX windows

I m trying to control windows of a foreign OSX applications from my application. I d like to 1. move the windows on the screen 2. resize the windows on the screen 3. change the currently active window ...

Switching J2SE versions on Mac OS (SnowLeopard)

My current JDK on Mac OS (10.6) is set to 1.6 and I d like to switch to 1.5. A listing of /System/Library/Frameworks/JavaVM.framework/Versions/ shows: lrwxr-xr-x 1 root wheel 10 Nov 3 18:34 ...

Scrolling inside Vim in Mac s Terminal

I ve been googling around trying to figure out if it s possible to use my mouse wheel to scroll while inside Vim in Mac s Terminal, with no luck. It seems as if only X11 or iTerm support this. Before ...

export to MP3 from quicktime API

A question for Apple,QT programmers. Would like to know if it s possible to export a Movie object to MP3 using the QuickTime API. Preferably the ConvertMovieToFile function. I ve looked at ...

热门标签