Page 2 of 3 FirstFirst 123 LastLast
Showing results 11 to 20 of 27

Thread: Sub Channel Data

  1. #11


    Know I'm having a look at Alcohol 120% files to see how they store the information.

    I'm starting to realise a bit more complexity in this, looking at the alcohol settings. My plan is to still use Read CD, so I'll need to check that it supports the same reading options as Alcohol.

    Learning a bit more about copy protections, my first thought that a 1:1 image of a CD would resolve copy protections seems to be faulty, nonetheless, that's why we have hackers. As long as I can capture enough information...

  2. #12


    Does anybody know if ReadCD can read in channels P and Q? This may be part of what's causing me a problem.

    I'm assuming ReadCD uses MMC, so I am considering checking the MMC specs and perhaps modifying ReadCD.

  3. #13
    Experienced User
    Xristaki's Avatar
    Join Date


    you completely lost me at "channels"

  4. #14
    Experienced User Nikos's Avatar
    Join Date


    Quote Originally Posted by Xristaki
    you completely lost me at "channels"
    I posted a link to the CD-R FAQ in this thread. It's worth a read.
    To contact me privately, pray. I might answer.

  5. #15


    Thanks, I've read a bit on cdrfaq, particularly the subchannel or subcode information.

    I don't want this project of mine to die off, though I haven't been online for a little over a week now, so it's slow sailing. People have expressed interest in helping me, and I appreciate it. When I get some momentum going on this project, I will contact you.

    So where am I up to?

    Well, I'm keeping to my goal of a GPL copy program similar to blindwrite / Alcohol etc... However, the hardcore copy protection stuff I'm going to leave to other people. If anyone has reverse engineered Alcohol or blindwrite files (mainly the header files), I'd appreciate picking your brains.

    More Notes
    I have looked inside the Alcohol 120% files and see something similar to the contents of CloneCD, however, they have embedded subchannel data in the single image file.

    What I'm not sure about is that the subchannel data is not the same as my RAW copy of the data or the CloneCD sub channel data, there are similarities though.

    Questions for me or others
    Does CloneCD / Alcohol 120% Encrypt their Subchannel rips at all?
    I'm sure that the read-soloman error correction should not be applied to this data and that I am applying an de-interleave algorythm to the data.

    I'm still looking for a good source for Data De-Interleaving. From what I've read the data is stored as:
    - 8 Channels stored in 8 consecutive bytes.
    - Each bit of each byte corresponds to a channel
    - To "De-Interleave" the data, one Channel Byte (say P) can be extracted by collecting the first bit of each byte for eight bytes.
    However, this doesn't necessay correspond with the algorythms I've seen other people write. If anyone can confirm or correct this, I would appreciate it.


  6. #16
    Experienced User Nikos's Avatar
    Join Date


    Each clone program usually has its own drivers. The API changes, so I guess the format they use for the files is mandated by the API.

    Also, there might (note, might, not sure) be differences in byte-ordering. Although I don't see a reason why a PC app would use anything else than little-endian, it might be an issue.

    I don't think the apps encrypt the data. There's nothing to hide, after all.
    To contact me privately, pray. I might answer.

  7. #17


    Makes sense to me that they wouldn't encrypt the data.

    Up untill now, I've been assuming that ReadCD packs all the subchannel data at the end of each sector (in the image). This is how it appears in a Hex editor, however, there may be more information in the actual sector which I'm currently investigating.

    Do any Copy Protections store error checking information in their subchannel data?

  8. #18



    Well, after a lot of tinkering around, and learning more about how the subchannel data is stored I have had SOME success.

    I wrote my own code to DeInterleave the subchannel data, which seems to be working succesfully. The resulting data matches the data in the .SUB files of Clone CD.

    I'm writing a small, inflexible program to confirm this. It will take a RAW input (R-W Raw read from ReadCD) and will spit out a .SUB file.

    Will post if I have success.

    This still leaves me to ponder how the data is organised in the Alcohol files, my next challenge is to investigate that.

  9. #19


    Current Findings
    Alcohol 120% MDF files contain all CD data including Sub channel data. The Sub channel data is coppied at the end of the 2352 byte sector (2352 + 96). This data is a RAW copy and has not been de-interleaved. The sub channel data in these files sometimes contains all 0's in the P channel OR all 1's in the P channel (or mostly). I believe this corresponds to CD encoding.

    CloneCD seperates the Sub channel data into it's SUB file. CloneCD also performs a software deinterleave on the data prior to placing it into the SUB file. There are mostly 0's in the P Channels. The 1's found in the Alcohol 120% P-Channels do NOT correlate in the CloneCD sub channels.

    Blindwrite does it's own thing, I haven't looked into those files. There are people out there reverse engineering Blindwrite files, I'm aware of a project on sourceforge that converts these to ISO's.

    I've written a software De-interleave program (extremely roughly, it doesn't take command arguments nor performs any input / error checking). The above findings assume that this program of mine works.

    ReadCD is capable of Raw reading, however, I don't know if it's as thorough as the first two programs.

    I've compared Sub Channel data from all three programs (CloneCD, Alcohol and ReadCD) using the DeInterleave program, and there are many similarities between the data but they're not identical. I remember reading that consecutive reads can yield diffrent data for Sub Channels, but there are some strong differences as well. As mentioned, each software uses it's own driver to read the data, but would you expect large changes in the data?

    I'll start testing consecutive reads using the one program to see if there are strong differences as well.

  10. #20

    Default MonkeyMonkey

    Very neat stuff. You could also try consecutive reads on different hardware with a known program like Alcohol or CloneCD.
    the modern world:
    net helpmsg 4006

Page 2 of 3 FirstFirst 123 LastLast


Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts