我有一个包含其他文件的文件。我知道子文件在哪里开始(header),但是我怎么知道子文件在哪里结束?

编辑:文件就像:声音文件(.wav)和图像(.bmp,png,jpeg)

示例:

file1
file2
data
file3


我如何知道file2的起始位置和file2的终止位置?

评论

您知道文件类型吗?您没有给我们太多信息,请尝试使用更多信息来修改您的问题。

结帐binwalk。

#1 楼

从技术上讲,您描述的是存档。如果归档数据结构设计正确,则在标题中您必须找到标题中每个文件条目的起始偏移量和大小,或者起始和结束偏移量,除非文件都一个接一个地存储。在后一种情况下,您只需要知道每个文件的起始偏移量即可,因为(假设先是file0,然后是file1),file1的起始偏移量就是file0的终止偏移量。

下例显示了后一种情况:

  Offset00:file0
  Offset10:file1
  Offset30:file2
  Offset35:file3


#2 楼

除了yaspr所说的以外,我建议您查找那些包含文件的规范。大多数文件格式的大小都在标头中的某处指定。这样一来,您就可以从存档中分割文件,甚至无需知道存档结构。

这就是scalpel之类的工具用来雕刻文件的作用。它们将标头与已知文件类型匹配,然后在该标头中查找文件大小。
某些文件格式具有特定的结尾,您也可以使用这些结尾将其刻出(例如,每个png文件都有IEND,结束)。

scalpel和类似的文件雕刻工具试试运气。

评论


WAV(RIFF格式),BMP和PNG的标头中有足够的信息来执行此操作。 (JPEG也是吗?我相信不是。)无论如何,知道假定的文件大小与yaspr关于如何以及在何处查找档案馆自己的元数据的答案有很好的联系。

–杂件
2014年5月2日在22:47

#3 楼

签出hachoir子文件。来自他们的回购的例子。

$ hachoir-subfile chiens.PPS
[+] Start search (828.5 KB)

[+] Found file at 0: Microsoft Office document
[+] Found file at 537 size=28449 (27.8 KB): JPEG picture: 433x300 pixels
[+] Found file at 29011 size=34761 (33.9 KB): JPEG picture: 433x300 pixels
[+] Found file at 63797 size=40326 (39.4 KB): JPEG picture: 433x300 pixels
[+] Found file at 104148 size=30641 (29.9 KB): JPEG picture: 433x300 pixels
[+] Found file at 134814 size=22782 (22.2 KB): JPEG picture: 384x325 pixels
[+] Found file at 157621 size=24744 (24.2 KB): JPEG picture: 443x313 pixels
[+] Found file at 182390 size=27241 (26.6 KB): JPEG picture: 443x290 pixels
[+] Found file at 209656 size=27407 (26.8 KB): JPEG picture: 443x336 pixels
[+] Found file at 237088 size=30088 (29.4 KB): JPEG picture: 388x336 pixels
[+] Found file at 267201 size=30239 (29.5 KB): JPEG picture: 366x336 pixels
[+] Found file at 297465 size=81634 (79.7 KB): JPEG picture: 630x472 pixels
[+] Found file at 379124 size=36142 (35.3 KB): JPEG picture: 599x432 pixels
[+] Found file at 415291 size=28801 (28.1 KB): JPEG picture: 443x303 pixels
[+] Found file at 444117 size=28283 (27.6 KB): JPEG picture: 433x300 pixels
[+] Found file at 472425 size=95913 (93.7 KB): PNG picture: 433x431x8
[+] Found file at 568363 size=219252 (214.1 KB): PNG picture: 532x390x8
[+] Found file at 811308 size=20644 (20.2 KB): Microsoft Windows Metafile (WMF) picture


如果需要分割文件,可以使用ExtractSubFile。