3

在 Windows 8.1 版本中,有一些新的 API 更改/添加。根据新添加,有一个称为“XAML 二进制格式”的新功能,它将提高屏幕上的渲染性能。XamlBinaryWriter类负责转换为 XAML 二进制格式。所有的 XAML 文件都将转换为 XBF。有任何人尝试将 XBF 文件转换为 XAML 文件。我对 XAML 文件有一些依赖。如果没有 XAML 格式,我将无法继续。请让我知道如何将 XBF 转换为 XAML 文件。

4

1 回答 1

4

作为起点,下载并安装 Microsoft 的.NetNative,作为其中一部分安装的 ReducerEngine.dll 包括反编译器的一些原始实现

但是,MS 的实现很差,它甚至不支持 XAML 命名空间。您可以使用 Microsoft 的实现来学习 XBF 文件的结构,以进行反编译,但是我建议您实现自己的解决方案。这并不难,我的是 12 个 C# 文件中的大约 1000 行代码。

XBF 文件相当简单。它们包含一个固定的标题,然后是 6 个查找表(字符串、程序集、类型命名空间、类型、属性、XML 命名空间),然后是 DOM 树部分,其中对象通过整数键引用这些表中的值。

PS 我对此最感兴趣的问题是,为什么微软选择重新发明轮子而不是使用他们的.NET 二进制 XML 格式或它的子集?他们有多年的二进制 XML 实现,从技术上讲,它的格式比 XBF 更好。

于 2014-09-01T00:59:12.843 回答