提取未知文件格式的内容

逆向工程 文件格式 解压 二元诊断
2021-07-05 02:17:26

我在这里需要一些帮助和建议。我正在自学如何对未知格式的文件内容进行逆向工程。

下面是两个文件的内容:

E5 44 2A F9 1C 72 96 B9 CA B2 40 33 DA 19 B9 56 C4 5F E2 46 C4 A2 37 1C 6B A7 FF 6A 14 96 E6 53 5E 63 0D A3 01 65 65 BC C6 55 1B 90 C9 56 16 6A C9 B8 3D 05 0F E5 13 62 F0 22 6D C6
DD 9F 44 2E C7 3D D2 31 48 3D 40 18 A8 D6 79 59 AE 31 6A E7 6C E2 92 6A A9 83 5A DC 64 56 34 1A 85 E7 2E 77 A9 34 32 29 61 4C A4 54 E1 76 6B C7 94 C0 FF 66 7F BC 1B A0 43 5C 83 87 19 1F AD AC 24 56 EE E4 87 9F BB 02 BD C1 35 ED F5

这两个文件应该具有相同的信息,因为我从用户的角度使用相同的“可见”数据保存它们(每次保存之间只有几秒钟的差异)。

可读数据应该有类似这样的字符串“1111111111111100”。

补充一:

02 D6 AB D8 4B 18 19 C2 88 AF A7 4E 7D DD C1 27 E4 FC A4 32 83 44 32 32 E9 2C 26 00 F9 56 8F F7 57 DC C0 E4 BB B2 65 55 CF E3 14 21 9F 07 51 A6 C0 1D 1D 74 3C 92 76 5C BB BE BE A1 3D E0 C5 4D BD 21 DC 11 83 C8 2A FC 9F 46 56 A3 34 98 2B BE 53 05 55 EE

我有读取这两个文件的软件。我尝试更改一些值,但得到了一些描述性错误,例如“版本错误”、“格式错误”、“CRC 错误”。

是压缩的吗?加密?两个都?

有什么建议吗?

1个回答

我会将其发布为对未知文件进行逆向工程技术的答案。逆向工程不仅仅是查看二进制数据。这是一个侦探之谜。您需要收集线索并尝试解开谜团。有时线索在二进制数据之外。

  1. 查看生成数据的程序。寻找您知道输入并可以收集输出的地方。

  2. 程序的输入类型有哪些?如果它们是字符串,那么您知道必须对字符串进行编码。

  3. 是否有使用该文件的程序?如果是这样,请更改一点。更改的文件是否加载?如果没有,则表明您在文件中有错误检测代码。如果没有,请更改不同位置的单个位并观察加载文件时会发生什么。这将有助于识别文件格式中的字段边界。

  4. 生成的数据大小始终相同,还是有所不同?如果它有所不同,则表明格式中有一些可变长度或可选数据。尝试构建应该在文件中产生相同大小输出的输入。测试一下。

看起来这是某种体育博彩应用程序。这实际上是对该文件格式进行逆向工程最有用的信息。我在这里找到了 escrutador.exe 的一些描述,我相信在这里找到了用户界面图像抱歉,我只会说英语,我不喜欢运动,也不会运行 PC。图像中似乎有一些非 ascii 字符,因此字符串类型可能是 unicode。

用户界面图片

同样在那个论坛中,我看到有人捕获了一些 XML。这并不意味着文件格式与 XML 有任何关系,但它让我们了解我们期望在文件中编码的内容。

一些相关数据的xml

我建议您创建一个文件,其中只有两个团队之间的一场比赛,名称分别为“red”和“blue”,然后在文件中查找这些名称的 ascii 和 unicode 编码版本。

然后以相反的两个团队的顺序创建相同的文件。您应该看到相同的字节模式在二进制文件中移动位置。

接下来,创建一个与第一个文件相同的文件,“红色”与“蓝色”,但将团队名称的“蓝色”更改为“绿色”。我们应该能够找到对应于“红色”的字节,当我们在“蓝色”的位置寻找“绿色”时,我们应该找到它。

如果我们没有在我们期望的位置看到字节,那将是数据压缩的一个强有力的指标。

文件名是否以 .QUI 结尾?

也许这是快速基础?在这里看到一些关于阅读相关数据的讨论