There's one improvement possible - automatic merge of extracted sectors (for dvd it's easy, for cd it's harder as I don't have the code for generating ECC/EDC codes - CDMage has it - probably needs to be ripped somehow)
Do you know where can I find such source code?
EDIT: Loaded CDMage into IDA. There's good news and the bad news. I was able to locate code responsible for checking ECC / EDC / repairing. The bad news is that it's heavy math (Reed Solomon codes). I was able to find this article by looking after specific magic constants, for example 1118:
https://topic.alibabacloud.com/a/eccedc … 07687.html
Unless someone rips that code from CDMage (hard) or writes it from scratch (hard+++) there's no room for improvement for cd dumping 
EDIT2:
For DVDs process can be improved in two ways:
- 2048B sectors can be auto merged into input image file (in the code I have: rangeContext.writeSectorToImage = FALSE, so it's just a matter of setting it to TRUE)
- Read speed can be optimized if I know which 2048B sector is already correct in the input image. If sectors is full of zeroes - I can assume it's corrupted and try to re-read it. Is it safe?
For CDs process can be improved in one way:
- 2352B sectors can be auto merged into input image file (in the code I have: rangeContext.writeSectorToImage = FALSE, so it's just a matter of setting it to TRUE)
Attached newest build with auto-merge enabled...
Post's attachmentsCDArchive.rar 284.45 kb, 1 downloads since 2025-03-07
You don't have the permssions to download the attachments of this post.