将blob解码为原始文件

逆向工程 解密
2021-07-02 09:38:57

我有一个程序可以将文件转换为 sqlite 数据库中的 blob。它使用QT框架。我通常可以从数据库中保存文件,但只能通过它的 GUI(这真的很痛苦)。我希望能够将 sqlite 中的 blob 解码为原始文件。我在此处附加了原始和编码文件链接 (单击下载按钮)它可能使用 qtarray 和 qstring 但我不确定。编码时似乎也删除了标头。我将衷心感谢您的帮助。

1个回答

blob 文件是用 zlib 压缩的,所以必须先解压。blob 的前 4 个字节是解压缩后的大小,压缩内容从第 6 个字节开始。

解压后得到的二进制文件为0xDEADBEAF(big-endian,图中标记为黄色)。在它之后您可以找到一些标题参数,其中之一0x22(标记为绿色)是行数。

在标题之后,您可以找到 32 位浮点形式的行数据(请参阅此处的浮点转换):

6 = 06
0.756431 = 0x3f41a578
-1.494892 = 0xbfbf589f

解压的blob