在过去一年左右的时间里,我一直在从事一个“小型”副项目,需要我从旧软件中提取数据。
这真的很有趣,高潮很高,低谷又令人沮丧,但我相信我终于接近了谜题的终点,但我几乎不知道这将是我一生中白发的时刻。
该软件将图表存储在 1 个巨大文件中,根据我的研究,该文件似乎是第 4 组压缩的 TIFF 图像数据,周围环绕着一些其他软件特定的图像标记。
我一直在尝试使用十六进制代码以获得图像输出,但没有运气,并且想知道是否有人对此类事情有一些见解,我知道长远来看......
这是与我认为的图像数据分开的标题:
4D 4D 00 2A 00 00 00 08 00 09 01 00 00 30 00 00 01 02 F8 00 00 01 01 00 03 00 00 00 01 04 58 00 00 01 03 00 03 00 00 00 01 00 04 00 00 10 60 00 30 00 00 01 00 00 00 00 01 11 00 04 00 00 00 01 00 00 00 82 01 16 00 03 00 00 00 01 04 58 00 00 01 17 00 04 00 00 00 01 00 00 20 B2 01 1A 00 05 00 00 00 01 00 00 00 7A 01 1B 00 05 00 00 00 01 00 00 00 7A 00 00 00 00 00 00 00 48 00 00 00 01
上面的链接是我到目前为止所得到的,它是一个 130 字节的 TIFF 标头,附加在我从更大的 1GB 数据文件中提取的图像数据中。
任何人都可以明白为什么这不会按原样渲染图像或引导我找到有用资源的方向?
我从原始 1GB 文件中提取了我认为是图像数据的内容,并在前面添加了一个有效的 TIFF 标头,期望渲染图像,但没有运气,我不确定是否丢失了其他数据。
问题可能在于提取数据的结构或内容。即使您预先添加的标头可能是正确的,第 4 组压缩数据对任何额外字节、未对齐的数据或丢失的组件都非常敏感。
以下是一些需要检查的事项:
验证字节对齐:确保图像数据恰好从 TIFF 标头指示的位置开始。开始时任何额外或丢失的字节都可能导致图像无法渲染。
验证 TIFF 标签:仔细检查标头中的 TIFF 标签是否正确描述图像数据。请特别注意与宽度、高度、压缩(应为第 4 组)以及图像数据偏移量相关的标签。
检查段:某些 TIFF 文件以段的形式存储图像数据。确保您已捕获原始文件中的所有相关片段。丢失的片段可能会导致图像数据不完整或损坏。
如果这些检查不能解决问题,则问题可能出在原始软件使用的专有标记或其他非 TIFF 数据上。在这种情况下,您可能需要对这些标记进行逆向工程才能正确提取图像。