哪种文件格式以“45 52 02”字节开头?

ken*_*orb 34 file-format

我有.cdr文件格式(不是CorelDRAW文件),但是我无法打开/刻录它。我希望它是磁盘映像。这是前几行:

$ hexdump -C *.cdr | head
00000000  45 52 02 00 00 70 00 00  00 00 00 00 00 00 00 00  |ER...p..........|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200  ...
$ hdiutil imageinfo *.cdr
hdiutil: imageinfo failed - image not recognized
Run Code Online (Sandbox Code Playgroud)

这个文件是什么格式的?

我在维基百科上的文件文章中检查了幻数,但它没有在那里列出。

ste*_*iny 59

file命令告诉我它是一个“Apple Driver Map,blocksize 512”:

printf '\x45\x52\x02\x00\x00\x70' | file -
# /dev/stdin: Apple Driver Map, blocksize 512
Run Code Online (Sandbox Code Playgroud)

定义在文件的源代码中magic/Magdir/apple

有趣的是,有一个禁用的条目会更好地匹配:“Apple 分区数据”。

  • 现在*这*是一个很好的答案!可以做成一行这样的 `printf'\x45\x52\x02\x00\x00\x70' - | file -`,输出将是 `/dev/stdin: Apple Driver Map, blocksize 512`。 (17认同)
  • OP 应该在他们的实际文件上运行 `file`。鉴于整个事情,它可能有不同的答案。 (11认同)

Gia*_*968 21

好吧,我不是 100% 的,但根据维基百科上的文件签名列表,它似乎接近Roxio Toast磁盘映像文件:

Roxio Toast 光盘映像文件,还有一些 .dmg 文件以相同的字节开头。

那里提供的十六进制签名是:

45 52 02 00 00 00
Run Code Online (Sandbox Code Playgroud)

您共享的十六进制签名是:

45 52 02 00 00 70
Run Code Online (Sandbox Code Playgroud)

请注意,最后一个十六进制值是00而不是70所以这更奇怪。想知道这是否70意味着图像被压缩了?在这个定义文件中pyfsig似乎可以找到类似的信息;一个 Python 文件签名库。

另外——如果我没记错的话——.cdr你文件上的扩展名似乎向我表明这个磁盘映像文件是用 Roxio Toast 制作的。

和 FWIW,带有.dmg扩展名的文件——如维基百科页面上所述——是 macOS “Apple Disk Image”格式的图像。

  • 我不确定,但这可能与您使用的十六进制签名略有差异有关 - 即:`45 52 02 00 00 00`,而 OP 的签名实际上是:`45 52 02 00 00 70`。 (3认同)
  • @jrd1 好点!看看我是否可以再研究一下。 (2认同)