Какой формат файла начинается с «45 52 02» байтов?

33

У меня есть .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

В каком формате этот файл?

Я проверил Магические числа в статье о файлах в Википедии, но там ее нет.

kenorb
источник
1
Это вполне может быть образ диска: .CDR - образ диска, созданный на компьютере Macintosh с использованием встроенной программы Disk Utility; может содержать несколько папок и файлов в одном файле образа диска, который можно записать на CD; похож на файл .ISO, созданный на компьютере Windows.
Келтари
19
Команда fileсделана специально для распознавания типов файлов, просматривая магические байты.
Даниэль B
Если это образ диска, .cdrфайлы можно переименовывать .isoи распознавать как образ компакт-диска ISO9660.
Торбьерн Равн Андерсен
3
.cdr используется, когда создается мастер CD / DVD и используется стандарт ISO9660 / .dmg используется для хранения / распространения программного обеспечения / данных OsX, а также может быть сжат и зашифрован
Giovanni Valerio
1
Не все файлы
образов CDROM

Ответы:

20

Ну, я не на 100% в этом, но, похоже, он близок к файлу образа диска Roxio Toast согласно списку подписей файлов, найденному здесь, в Википедии :

Файл образа диска Roxio Toast, также некоторые .dmg-файлы начинаются с тех же байтов.

При условии наличия шестнадцатеричной подписи:

45 52 02 00 00 00

И шестнадцатеричная подпись, которой вы делитесь:

45 52 02 00 00 70

Обратите внимание, что последнее шестнадцатеричное значение 00вместо, 70так что это даже шансы. Интересно, 70значит ли изображение сжато? Похоже, что подобная информация находится в этом файле определений дляpyfsig ; библиотека подписи файла Python.

Кроме того, если я правильно помню, .cdrрасширение вашего файла показало бы мне, что этот файл образа диска был создан с помощью Roxio Toast.

И FWIW, файлы с .dmgрасширением - как упомянуто на странице Википедии - являются изображениями в формате macOS «Apple Disk Image» .

JakeGould
источник
3
Я не уверен, но это может быть связано с небольшим расхождением в шестнадцатеричном подписи вы использовали - то есть: 45 52 02 00 00 00, а подпись OP является на самом деле: 45 52 02 00 00 70.
января
2
@ jrd1 Отличная мысль! Посмотрим, смогу ли я изучить это еще немного.
JakeGould
58

Команда fileсообщает мне «Apple Driver Map, blocksize 512»:

printf '\x45\x52\x02\x00\x00\x70' | file -
# /dev/stdin: Apple Driver Map, blocksize 512

Определение находится в исходном коде файла в файле magic/Magdir/apple.

Интересно, что есть отключенная запись, которая будет соответствовать еще лучше: «Данные раздела Apple».

steiny
источник
17
Теперь это отличный ответ! Это может быть сделано в одну строку, как это, printf '\x45\x52\x02\x00\x00\x70' - | file -и результат будет /dev/stdin: Apple Driver Map, blocksize 512.
JakeGould
Благодарность! Специально для того, чтобы заметить, что мой предложенный printf '\x45\x52\x02\x00\x00\x70' - | file -имеет ненужное -перед трубой |.
JakeGould
11
OP должен работать fileна их фактическом файле. Это может иметь другой ответ, учитывая все это.
Стоп Harm Моника