翻译回一个未知的二进制文件!?这可能吗?
本文关键字:二进制文件 未知 一个 翻译 | 更新日期: 2023-09-27 18:17:52
我有一个程序,它将结果文件保存在二进制文件中。在程序中也可以将结果文件导出为XML格式。
由于程序本身在浏览结果方面很糟糕,所以我自己编写了一个程序来读取这个结果文件,但显然使用了XML格式。
问题是,从二进制文件导出的XML文件是巨大的!而原始程序可以使用的二进制文件约为100kb,导出为XML的相同文件约为2~ 3mb。我想知道是否有一种方法,我可以找到如何读取原始二进制文件!
要从二进制文件中获取数据,您需要知道它的结构。如果你不了解它的结构,我认为这是徒劳的。xml文件要大得多,因为它除了包含数据之外还包含结构。你可以阅读和解释它
您需要阅读程序源代码,如果它不可用-在ILDASM或Reflector中打开该程序,并尝试了解二进制文件是如何创建的。这可能是使用二进制序列化完成的。
您可以定义自己的类型,这些类型是原始类型的精确副本,包括序列化属性,并使用二进制序列化加载它们。
但是,第三方文件格式的每次更改都可能要求您更改程序。我认为最好使用XML