【问题标题】:opening a file format打开文件格式
【发布时间】:2011-04-21 16:22:23
【问题描述】:

我已经在某些网站上寻找了一段时间,但我似乎找不到任何关于文件格式的有用信息。

我的计算机上有某种文件格式,我想重新创建它以制作程序的附加组件。不幸的是,我将是第一个为这种特定格式这样做的人,这使得它变得更加困难。有一些程序可以将信息添加到文件中,但不幸的是,这些程序不是开源的。但这确实意味着可以通过某种方式找出文件格式。

我最接近找到有关重新创建文件格式的可用信息是,“在记事本或十六进制编辑器中打开它,看看是否能找到任何可用的信息”..

这种特定的文件格式包含信息,所以没有音乐文件或图像之类的东西,以防您想知道。

我只是想知道是否有关于如何创建文件格式或弄清楚现有文件格式如何工作的指南。我相信这种格式称为制表数据格式?

【问题讨论】:

  • 您必须知道,即使是图像文件(.jpg/.bmp)也可以用记事本打开。还有漂亮的身份证,尼克!
  • 或许您可以更具体地了解一下这种神秘的文件格式? ;)
  • 我希望身份证不是讽刺,哈哈。我只是喜欢它简单干净。 :) 文件格式可能对您没有任何意义,但它是一个 .ZSC 文件。游戏使用它来存储将皮肤和对象相互连接的某些信息,并保存游戏的信息,指定皮肤使用的颜色、是否透明等。别担心,我没有做任何违法的事情.以前都做过,只是他们不是那种分享资源的人。感谢您的快速回复。

标签: c# visual-studio-2008 file-format


【解决方案1】:

这确实取决于文件格式。

理想情况下,您可以找到一些有关该文件如何工作的文档并使用它。如果文件使用公共格式,这很容易,因此对于 HTML 文件或 PNG 文件,您可以轻松找到该信息。专有格式通常也发布了规范,或者至少有一个公开可用的 API 来操作它们,这取决于公司积极鼓励此类扩展的政策。

其次最好使用将文件作为参考实现处理的工作代码示例(无论是已发布的源代码还是本身进行逆向工程)。

否则,逆向工程将尽你所能。在记事本和十六进制编辑器中打开它(即使使用二进制格式,将其解析为文本也可以告诉您一些信息;即使使用基于文本的格式,在十六进制编辑器中查看它也可以告诉您他们是否正在使用不可打印的字符)确实是要走的路。这是一项侦探工作,虽然有时很容易,但通常非常困难,尤其是。因为您可能会错过他们处理您使用的样本中没有遇到的边缘情况的方式。

【讨论】:

  • 好的,非常感谢您的回复。我尝试使用记事本和十六进制编辑器打开文件,但找不到可以使用的任何内容。我刚刚看到了我通常使用逆向工程师制作的编辑器工具看到的信息,所以没有奇怪的字符,除了显示为 [] 的 00,但我想这在十六进制编辑器中是正常的。我想我最好的办法是在他们分发工具的论坛上寻求帮助。再次感谢!
  • 00 将是“null char”并且很可能被用作某种分隔符,因为它没有出现在大多数文本中,或者可能是因为使用它的程序是 C 或类似的语言用它终止它的字符串,因此只需将其写入包含终止符的文件即可再次读取它,而无需对文件中的长度进行编码。
【解决方案2】:

与游戏一起分发的晦涩格式的困难在于,它们通常是从声明性定义语言、脚本语言或直接从一组资源(如纹理和网格)编译而来的。

在某些游戏中,一个编译后的文件将包含上述所有内容的点点滴滴,没有关于用于将其拼凑在一起的工具和格式的可用文档。有些人称之为“有趣”。

如果您无法从 hex 中获取任何内容、找不到任何文档并且找不到读取文件的工具,您最好询问社区是否有人熟悉该技术.

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 2020-02-02
    • 1970-01-01
    相关资源
    最近更新 更多