Open source 读取专有文件类型

Open source 读取专有文件类型,open-source,reverse-engineering,file-format,Open Source,Reverse Engineering,File Format,一个人如何开发一个软件来读取一个专有的文件类型而不需要那个专有的软件。类似于OpenOffice人员对MS Word(.doc)文件所做的操作。打开Office可以读取.doc文件 如果专有软件有一个开源SDK,这可能很容易,例如Adobe有Flex开源SDK,因此可以在没有Adobe flash的情况下创建flash(.swf)文件。但是在微软Word的例子中,我相信它没有开源SDK,开放办公室的人是如何让它阅读的呢 当然,我使用OpenOffice只是作为一个例子,但我的问题是一般性的,如何

一个人如何开发一个软件来读取一个专有的文件类型而不需要那个专有的软件。类似于OpenOffice人员对MS Word(.doc)文件所做的操作。打开Office可以读取.doc文件

如果专有软件有一个开源SDK,这可能很容易,例如Adobe有Flex开源SDK,因此可以在没有Adobe flash的情况下创建flash(.swf)文件。但是在微软Word的例子中,我相信它没有开源SDK,开放办公室的人是如何让它阅读的呢

当然,我使用OpenOffice只是作为一个例子,但我的问题是一般性的,如何读取专有的输出文件?这是什么意思?我知道有人会说反向工程,但我认为在这里对整个软件进行反向工程是没有意义的(我还不知道这个领域的任何情况),因为目标不是创建具有相同功能的软件。有没有办法只处理输出文件


对此有什么想法吗?

如果幸运的话,至少有一些关于文件的信息,例如MS


另一方面,这是一项艰巨的工作。基本上,你只需要做一个简单的文档来保存它,然后做一个小的修改,保存它并比较两者。最终您可以确定格式。

这是一个迭代过程:

  • 检查文件中的原始字节流并猜测它们的含义
  • 编写代码来验证猜测
  • 查看尝试加载文件时出现的问题
  • 重复
您将需要各种各样的测试文件、大量的耐心和大量的洞察力


我的经验是,处理基本功能非常容易,但复杂的文件格式功能可能会让人很难处理。

Eldad Eilam有一本关于这方面的好书,名为《反转》。没有隶属关系。我读了它,觉得这是一本很棒的书。