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

7273
kenorb

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

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

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

33
Команда `file` создана специально для распознавания типов файлов, просматривая магические байты. Daniel B 6 лет назад 19
Это вполне может быть образ диска: .CDR - образ диска, созданный на компьютере Macintosh с использованием встроенной программы Disk Utility; может содержать несколько папок и файлов в одном файле образа диска, который можно записать на CD; похож на файл .ISO, созданный на компьютере Windows. Keltari 6 лет назад 1
Если это образ диска, файлы `.cdr` можно переименовать в` .iso` и распознать как образ компакт-диска ISO9660. Thorbjørn Ravn Andersen 6 лет назад 0
было на 30 секунд позже :) на OsX образ диска обычно называется .cdr, но на самом деле это стандарт ISO 9660. Этот факт использовался для перемещения данных с Mac на ПК Giovanni Valerio 6 лет назад 0
@GiovanniValerio Действительно? Я всегда знал, что файлы .dmg - это образы дисков MacOS. Возможно на более старой версии ОС? JakeGould 6 лет назад 0
.cdr используется, когда создается мастер CD / DVD и используется стандарт ISO9660 / .dmg используется для хранения / распространения программного обеспечения / данных OsX и может быть сжат и зашифрован Giovanni Valerio 6 лет назад 3
@GiovanniValerio Ааа! Хорошо знать. JakeGould 6 лет назад 0
Не все файлы изображений CDROM будут в формате .iso .... rackandboneman 6 лет назад 1

2 ответа на вопрос

58
steiny

Команда 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».

Теперь это отличный ответ! Это может быть превращено в однострочник как этот `printf '\ x45 \ x52 \ x02 \ x00 \ x00 \ x70' - | file -` и вывод будет `/ dev / stdin: карта драйверов Apple, размер блока 512`. JakeGould 6 лет назад 17
Спасибо! Специально для того, чтобы заметить, что мой предложенный `printf '\ x45 \ x52 \ x02 \ x00 \ x00 \ x70' - | file -` содержит ненужный `-` перед каналом` | `. JakeGould 6 лет назад 0
OP должен запускать `file` для своего фактического файла. Это может иметь другой ответ, учитывая все это. OrangeDog 6 лет назад 11
20
JakeGould

Ну, я не на 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» .

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

Похожие вопросы