Który format pliku zaczyna się od bajtów „45 52 02”?

33

Mam .cdrformat pliku (nie plik CorelDRAW ), ale mam problem z jego otwarciem / nagraniem. Spodziewam się, że będzie to obraz dysku. Oto kilka pierwszych wierszy:

$ 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

W jakim formacie jest ten plik?

Sprawdziłem liczby magiczne w pliku z artykułami na Wikipedii, ale nie ma go tam na liście.

kenorb
źródło
1
Bardzo dobrze może to być obraz dysku: .CDR to obraz dysku utworzony na komputerze Macintosh za pomocą wbudowanego programu Disk Utility; może zawierać wiele folderów i plików w jednym pliku obrazu dysku, który można nagrać na dysk CD; podobny do pliku .ISO utworzonego na komputerze z systemem Windows.
Keltari
19
filePolecenie jest wykonane specjalnie do rozpoznawania typów plików patrząc na bajtów magicznych.
Daniel B
Jeśli jest to obraz dysku, .cdrmożna zmienić nazwę pliku .isoi rozpoznać go jako obraz CD-ROM ISO9660.
Thorbjørn Ravn Andersen
3
.cdr jest używany, gdy tworzy się master CD / DVD i używa standardu ISO9660 / .dmg jest używany do przechowywania / dystrybucji oprogramowania / danych OsX i może być kompresowany i szyfrowany
Giovanni Valerio
1
Nie wszystkie pliki obrazów cdrom będą miały format .iso ....
rackandboneman

Odpowiedzi:

20

Cóż, nie jestem w 100% na tym, ale wydaje się, że jest on zbliżony do pliku obrazu dysku Roxio Toast zgodnie z listą sygnatur plików znalezioną tutaj na Wikipedii :

Plik obrazu płyty Roxio Toast, a także niektóre pliki .dmg zaczynają się od tych samych bajtów.

Podpis szesnastkowy, pod warunkiem że:

45 52 02 00 00 00

A udostępniany podpis heksadecymalny to:

45 52 02 00 00 70

Zauważ, że ostatnia wartość szesnastkowa jest 00zamiast, 70więc jest to nawet dziwniejsze. Zastanawiasz się, czy 70oznacza to, że obraz jest skompresowany? Podobne informacje wydają się znajdować w tym pliku definicjipyfsig ; biblioteka sygnatur plików w języku Python.

Ponadto - o ile dobrze pamiętam - .cdrrozszerzenie twojego pliku wydaje mi się wskazywać, że ten plik obrazu dysku został utworzony za pomocą Roxio Toast.

I FWIW, pliki z .dmgrozszerzeniem - jak wspomniano na stronie Wikipedii - są obrazami w formacie MacOS „Apple Disk Image” .

JakeGould
źródło
3
Nie jestem pewien, ale to może być związane z niewielkim rozbieżności w podpisie hex użyłeś - tj 45 52 02 00 00 00, natomiast podpis PO jest rzeczywiście: 45 52 02 00 00 70.
jrd1
2
@ jrd1 Excellent point! Zobaczę, czy mogę to jeszcze trochę zbadać.
JakeGould
58

fileKomenda mówi mi jego „Apple Kierowca Mapa, blocksize 512”:

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

Definicja znajduje się w kodzie źródłowym pliku w pliku magic/Magdir/apple.

Co ciekawe, istnieje wyłączony wpis, który pasowałby jeszcze lepiej: „Dane partycji Apple”.

steiny
źródło
17
Teraz to jest wielka odpowiedź! Można go przekształcić w taki jeden linijka, printf '\x45\x52\x02\x00\x00\x70' - | file -a wynik byłby /dev/stdin: Apple Driver Map, blocksize 512.
JakeGould
Dzięki! Zwłaszcza za zauważenie, że mój zasugerowany printf '\x45\x52\x02\x00\x00\x70' - | file -jest niepotrzebny -przed potokiem |.
JakeGould
11
OP powinien działać filena ich rzeczywistym pliku. Może mieć inną odpowiedź, biorąc pod uwagę całość.
Stop Harming Monica