Кадр CD составляет 2352 байта.Для CD с данными это 2048 байт данных + разные заголовки и ECC, но вы можете прочитать большую часть необработанных данных кадра.Накопитель может обрезать несколько байтов.Поэтому лучше всего обходить файловую систему ISO 9660 и читать компакт-диск в режиме raw.Чтение не удастся с ошибкой на невосстановимых кадрах, но вы можете найти их и просто начать читать следующий кадр.
В Linux вы откроете низкоуровневое устройство SCSI, выполните ioctl для установки CDROMREADRAWи используйте read и lseek при необходимости.
Описание кишок программирования CD: здесь .
Эта страница содержит информацию о чтении CDROM в Windows,но не объясняет, возвращает ли он необработанные данные или нет.