如何反向工程数据库文件格式?

时间:2015-09-23 13:41:54

标签: database reverse file-format

它是一个会计数据库,其数据库文件格式是专有数据。但问题是数据库非常不可靠,多年来腐败被忽视,之后恢复数据变得难以忍受,我们维护了许多公司的账户,因此扭转格式将非常有用。此外,该软件符合odbc标准,这可能非常有助于扭转它。该软件部分是开源的,即除了数据库引擎外,一切都是开源的(并且可完全自定义),尽管它们有不同的语言。
我没有逆转的经验。我们想以这样一种方式对其进行反转,即我们可以直接以该格式写入数据。所以我想知道在哪里可以获得工具,我应该如何处理,任何文章或视频都会很棒。

1 个答案:

答案 0 :(得分:1)

通常它不那么“难”。例如,我喜欢混合解决方案:

  1. 基本目标文件分析:熵,签名等。用一些十六进制编辑器查看可能的块是个好主意(准备好长时间存在于十六进制编辑器中),我建议你在010编辑器里面有模板/脚本。基本目标应用程序分析:您需要了解它的编写方式(语言,框架,库等),这对后续步骤非常有用。

  2. 可以打开此文件格式的应用程序的经典转速工程。使用像IDA Pro + Hex-Rays(但准备花很多钱)的最佳方式来生成类似C的源。您可以中断目标文件(更改/窃取一些字节)并在目标应用程序中中断异常,例如,开始探索。

  3. 尝试使用FileMon(现在它是ProcMon的一部分)来了解目标应用程序如何读取目标文件。有时它是可能的(某些应用程序根本不使用读取缓冲区,因此,您将看到小读数+调用堆栈以进行探索!)。

  4. 在某些情况下可以帮助您的不同工具。

  5. 最重要的是,上传少量数据库和应用程序样本并提供链接。我们可以尝试一起做,并为其他人写一些教程。

相关问题