2010-11-22 265 views
1

我试图提取&用我自己的Mac游戏“Luxor 3”替换一些资产。在Contents/Resources文件夹中有一个名为data.npk的大文件。解码NovaPack(NPK)二进制格式

在十六进制编辑器中打开它,我看到标题中的“NovaPack”,以及一些引用我正在提取的文件类型的字符串(在本例中为ogg,用于音频)。

我发现互联网上的几个软件声称从其他游戏中解压NPK文件,但所有这些软件都运行在Windows上,并且没有成功解包来自该游戏的数据。

我是一个合理的C程序员,如果我知道NPK文件的确切数据格式是什么,我可以构建一个命令行工具来提取我正在查找的文件。据推测,标题包含每个打包文件的“文件名”,以及其内容的偏移量和大小。毫无疑问,根据这些信息,卢克索游戏中的一段代码会重新组合内存中的资产。

有没有人有这种格式的具体经验,或一般建议下一步将解码任何专有数据格式的结构?

回答

1

我想你可能会对the NPK project感兴趣。它主要在C中,所以我相信它会适合你的目的。

他们甚至说出这个项目的网页上:

如果你发现独立的平台,易于使用和安全的包装系统,选择NPK。它适用于大多数现代操作系统,并且还支持用于操作软件包的强大工具。