用于分析专有数据格式的工具,方法?

时间:2011-10-11 04:50:58

标签: reverse-engineering binaryfiles analysis hex-editors raw-data

我需要分析包含来自科学仪器的原始数据的二进制数据文件。在十六进制查看器中快速查看表明可能没有加密或任何花哨的东西:整数可能会写为整数(但我不知道字节顺序是什么),谁知道浮点数。

我可以访问可以查看文件内容的(闭源)程序。所以我可以看到某个值是74078.实际上搜索该值我不确定 - 我是否搜索00 01 21 5E,其他一些字节顺序等? (Hex Fiend不支持搜索十进制值)我怎样才能找到浮点数?

生成这些文件的软件在XP上运行。如果可能的话,我更喜欢在OSX上运行的工具。

(嗯,我写了这个问题,忘了发帖,然后解决了问题。我想我会写下自己的答案。)

1 个答案:

答案 0 :(得分:2)

最后,Hex Fiend被证明只是。我期待的事情:

  1. 将已知值转换为十六进制
  2. 搜索
  3. 我实际做了什么:

    1. 选择一个随机的十六进制块,看起来可能是一个有用的值
    2. 告诉Hex Fiend以小端或大端显示为整数或浮点数,直到它给出看似合理的结果(即45.000比某些大整数更合理)
    3. 在我从封闭源程序中获得的结果中搜索结果。
    4. 记录下来,回到第1步。(除非通常下一个块不是'随机',而是按顺序进行。)
    5. 在这种情况下,实际上只有三个(二进制)变量用于解释数据:

      1. float或integer
      2. 2个字节或4个字节
      3. 小或大端
      4. 随着更多变量,任务将变得更加困难。如果Hex Fiend可以直接搜索整数/浮点数,或许可以尝试不同的组合,那就太好了。也许其他十六进制观众也可以。

        为了回答我原来的一个问题,74078被证实存储为5E2101。多一点试验和错误,我会到那里。 :)

        <强> 更新 如果我这样做,我会使用“Synalyze It!”,这是专为此目的而设计的工具。

        enter image description here