Programmatisch eine CD kopieren, Byte für Byte

8

Ich frage mich, ob jemand wüsste, wie ich ein Byte für die Byte-Kopie der Daten auf einer CD per Programmierung erstellen kann? Gibt es einige Systemaufrufe, die dieses Zeug tun können?

Ich habe eine CD, die irgendwie beschädigt oder anderweitig beschädigt ist, wodurch einige der Dateien durch den Explorer usw. nicht zugänglich sind. Ich weiß, dass dort Informationen sind, und ich würde gerne in der Lage sein, eine Kopie davon zu machen (sogar in seinem beschädigten Zustand), aber natürlich kann ich das nicht durch das Dateisystem tun.

    
A.R. 17.12.2011, 15:06
quelle

1 Antwort

2

Ein CD-Frame ist 2352 Bytes. Für eine Daten-CD sind dies 2048 Bytes Daten + verschiedene Header und ECC, aber Sie können die meisten Rohdaten lesen. Das Laufwerk kann einige Bytes abschneiden. Es ist also am besten, das ISO 9660-Dateisystem zu umgehen und die CD im Rohmodus zu lesen. Lesevorgänge werden mit einem Fehler bei nicht wiederherstellbaren Frames fehlschlagen, aber Sie können möglicherweise nach ihnen suchen und einfach das nächste Frame lesen.

Unter Linux würden Sie das Low-Level-SCSI-Gerät öffnen, ein ioctl ausgeben, um CDROMREADRAW zu setzen und read und lseek je nach Bedarf zu verwenden.

Beschreibung der CD-Programmierung guts ist hier .

Diese Seite enthält Informationen zum Lesen der CD-ROM unter Windows, erklärt aber nicht, ob dies der Fall ist Rohdaten zurückgeben oder nicht.

    
Steve C 17.12.2011 20:51
quelle

Tags und Links