【问题标题】:Reverse engineering a custom data file对自定义数据文件进行逆向工程
【发布时间】:2010-03-28 13:35:31
【问题描述】:

在我的工作地点,我们有一个遗留文档管理系统,由于各种原因,开发人员现在不支持该系统。我被要求研究提取此系统中包含的文档,以便最终导入新的第 3 方系统。

通过跟踪和进程监控,我确定文档图像(主要是 tiff 文件)存储在多个 1.5GB 文件中。这些文件似乎是从特定偏移量读取,然后写入 tmp 文件,然后通过 Web 应用程序提供给客户端,然后删除。

我想我正在寻找有关如何检查这些包含 tiff 图像的大文件并最终将它们提取并写入单个文件的建议。

【问题讨论】:

  • “开发人员不支持”并没有真正说明源代码是否可用。是吗?如果是这样,那么您应该能够破解它以读取这些文件,这将成为您的新转换器的基础。
  • 遗憾的是,源代码不可用,应用程序调用各种非托管 dll 来访问这些文件中包含的数据。从到目前为止我收集的信息中,我确定执行了数据库查询(sp_getDoc ),应用程序必须使用一些返回的数据来计算大文件的哪些字节包含正在请求的实际 tiff 文件.返回的两个数字字段看起来可能与文件的开始和结束位置有关。
  • 为什么不能通过从网络应用程序自动请求所有文件来获取文件?

标签: reverse-engineering


【解决方案1】:

TIFF 是否以某种方式压缩?如果没有,那么您的工作可能很简单:将 1.5G 文件中的 TIFF 拼接在一起。

您能看到特定 1.5G 文件(或一系列文件)的输出吗?如果是这样,那么您应该能够将未压缩的 TIFF 的字节拼凑起来。

如果字节似乎不存在,请尝试一些标准压缩(zip、tar 等)以查看是否匹配。

【讨论】:

    【解决方案2】:

    我会打开一个文件,寻找所需的偏移量,然后流式传输到一个 tiff 对象(理想情况下支持从内存或文件流式传输的对象)。然后你就明白了。浏览一下其他一些内容,因为可能有关于文档的元数据可能对下一个系统有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 2015-12-20
      • 2012-07-21
      • 2016-04-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      相关资源
      最近更新 更多