PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : An CD-Rohdaten herankommen



hackbert
06-02-2005, 11:33
Hallo!
Wie komme ich an die Rohdaten einer CD im CD-ROM-Laufwerk heran? Ich möchte nicht auf Dateiebene arbeiten, sondern an alle Informationen, z.B. ISO9660 Daten und so weiter herankommenm also an alle Bytes, die auf der CD gespeichert sind und nicht vom OS weginterpretiert werden. Ich habe versucht /dev/cdrom (dort befindet sich mein CD-Laufwerk) zu öffnen und zu lesen. Beides klappt, aber ich bekomme keine Daten, sondern anscheinend nur Nullen.

Danke schonmal im Voraus für alle Antworten.

anda_skoa
06-02-2005, 17:43
http://linux-sxs.org/bedtime/cdromapi.html

Ciao,
_

hackbert
06-02-2005, 18:23
Danke für den Tipp. Leider existiert das Zip-File nicht mehr. Ich kriege immer 'nen 404er.

Pingu
06-02-2005, 19:37
Der Fehler scheint auf Deiner Seite zu liegen. Dann nach verschiedenen Diskussionen, die man über Google finden kann. müßte es so gehen.

Referenzen:
http://groups.google.de/groups?q=C+cdrom+read+raw+data&hl=de&lr=&client=firefox-a&rls=org.mozilla:de-DE:official&selm=3878F163.C5935BB3%40chat.carleton.ca&rnum=6
http://groups.google.de/groups?q=C+/dev/cdrom+read+raw+data&hl=de&lr=&client=firefox-a&rls=org.mozilla:de-DE:official&selm=fa.io1se2v.14iig1r%40ifi.uio.no&rnum=23
http://www.linuxvalley.it/encyclopedia/meteokernel/kernel24/doc24/cdrom/aztcd

Ich habe es zwar noch nicht programmiert. Aber nachdem was ich hier auf die Schnelle beim Überfliegen gelesen habe, mußt Du die ioctl() richtig setzen.

Pingu

Joghurt
08-02-2005, 22:43
Ich habe versucht /dev/cdrom (dort befindet sich mein CD-Laufwerk) zu öffnen und zu lesen. Beides klappt, aber ich bekomme keine Daten, sondern anscheinend nur Nullen.
$ od -x /dev/cdrom|head
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0100000 4301 3044 3130 0001 6957 336e 2032 2020
0100020 2020 2020 2020 2020 2020 2020 2020 2020
0100040 2020 2020 2020 2020 6c50 7961 2020 2020
0100060 2020 2020 2020 2020 2020 2020 2020 2020
0100100 2020 2020 2020 2020 0000 0000 0000 0000
0100120 ed5b 0004 0400 5bed 0000 0000 0000 0000
0100140 0000 0000 0000 0000 0000 0000 0000 0000
0100160 0000 0000 0000 0000 0001 0100 0001 0100Funktioniert also. Vielleicht hättest du mehr als das erste MB einlesen sollen :D