XNA - 如何确定已编译的XNB文件中使用的字体类型和字体大小

时间:2014-04-29 16:23:05

标签: c# fonts xna reverse-engineering decompiling

  

XNB文件由Microsoft XNA创建并与许多人一起分发   游戏。 XNB是一种能够表示的通用序列化格式   任意.NET对象,但有纹理的常见定义,   声音样本,3D模型,字体和其他游戏数据。 XNB文件可能   使用LZX压缩(称为Xbox XMemCompress格式)。

我已经用字体解压缩了xnb文件,我需要获取使用哪种字体和字体大小的信息。我没有主要申请来源。我想在其他应用程序中使用相同的字体设计。

当前包含字体的xnb文件不具备我需要的所有特殊字符。我能够使用Unicode字符生成新的spritefont并将其编译为xnb文件,但因为我不知道使用了什么字体,所以我的插件设计可见不同。

有谁知道如何检测XNB文件中使用的字体和字体大小? 此外,我正在考虑通过十六进制编辑改变编码,但我没有找到任何信息,其中存储有关编码的信息以及如何轻松地更改它们。

带字体的示例文件: https://onedrive.live.com/redir?resid=B6196AD97CA6B88A!251&authkey=!ADaJmio5n3RO2zM&ithint=file%2c.zip

到目前为止,我发现以下有用资源:

1 个答案:

答案 0 :(得分:1)

您可以使用"编译(XNB)内容格式"来自msdn。

的项目

我自己没有尝试过,但根据微软的说法,你可以用它来打开一个XNB文件,并在屏幕上看到它的内容:

  

它还包括一个用本机C ++编写的.xnb解析器示例   演示了如何通过打印其内容来解析已编译的XNB文件   到了屏幕。

查看here

你可以找到其他similar tools,但我总是更愿意去找产品的拥有者,这样你就有更好的机会获得有用的东西。