[gentoo-user] Possibly copy protected CDs?

230 views
Skip to first unread message

Mark Knecht

unread,
Feb 3, 2004, 5:50:04 PM2/3/04
to
Hi,
I've got a number of games for which I like to keep a backup copy of the
CDs at the office. This saves me having to drag around the CDs and
forgetting then in one place or another when the fancy strikes me to play.
So far so good. This has always worked.

Recently I picked up a copy of Myst III Exile, and for whatever reason
the copies don't seem to work. My reason for suspecting that there might be
some sort of copy protection on them is a little app I used under Windows
(Iso Power Recorder) won't generate a correct iso image, so I've been doing
the image under Linux using mkisofs. mkisofs will generate the image, and
the image seems good enough to install the game, but not good enough to play
the game.

Am I dealing with copy protection, or is this something else?

I'm just using

mkisofs -o EXILE_DISK_1.iso /mnt/cdrom

which seems simple and straight forward, but maybe it's not good enough?
There are a ton of options to mkisofs. Do I need to try some other specific
ones?

Thanks,
Mark

--
gento...@gentoo.org mailing list

Larry Meadors

unread,
Feb 3, 2004, 5:50:08 PM2/3/04
to
You might try cdrdao, I have used it to copy all kinds of stuff.

>>> mkn...@controlnet.com 02/03/04 3:39 PM >>>

I'm just using

mkisofs -o EXILE_DISK_1.iso /mnt/cdrom

Thanks,
Mark

--
gento...@gentoo.org mailing list

--
gento...@gentoo.org mailing list

Andrew Farmer

unread,
Feb 3, 2004, 5:50:10 PM2/3/04
to
On Tue, 03 Feb 2004 14:39:18 -0800, Mark Knecht muttered:

> I'm just using
>
> mkisofs -o EXILE_DISK_1.iso /mnt/cdrom
>
> which seems simple and straight forward, but maybe it's not good enough?

How about just unmounting the disk and trying:
dd if=/dev/cdrom of=EXILE_DISK_1.iso
perhaps? That'll give you an exact (and burnable) copy of the disk.

--
Andrew Farmer
and...@thibs.menloschool.org

Larry Meadors

unread,
Feb 3, 2004, 5:50:14 PM2/3/04
to
Oooh, that's friggin cool. :)

Larry

>>> and...@thibs.menloschool.org 02/03/04 3:44 PM >>>

--
Andrew Farmer
and...@thibs.menloschool.org


--
gento...@gentoo.org mailing list

TriKster Abacus

unread,
Feb 3, 2004, 6:00:30 PM2/3/04
to
Larry Meadors wrote:
> You might try cdrdao, I have used it to copy all kinds of stuff.

Larry,

Could you please exemplify on that a little?

I have also been wanting to make copies of certain cdroms that I own,
and have had similar problems, thus having to revert to *cough *cough
Window$ and use blindwrite, Alcohol 120% or other nefarious means to
make copies.. (of which often do not work either)

An example if you would.. how do you do this? Can you make an actual
"cloned image" of the cd?

I have used k3b to try and "clone" but it usually doesn't work (for me
at least)

Thank you

Sincerely,

--
TriKster Abacus
irc.freenode.net #cllug #gentoo #linuxfriends
irc.cotse.com #linux
http://www.cllug.org
http://www.trikster.homelinux.org
http://www.trikster.homelinux.org/contact.html


--
gento...@gentoo.org mailing list

Larry Meadors

unread,
Feb 3, 2004, 6:10:11 PM2/3/04
to
Shoot, I don't have it installed here, but there is an ebuild for it,
and once installed, copying a CD was really easy.

Basically, you use cdrdao to create an image of the cd (a set of bin/cue
files), then use it again to write them to a blank CD.

I got it from just looking at "man cdrdao" and trying it, and did not
make a single coaster.

This may sound like RTFM, but google can probably provide you with
better instructions than I can. :-)

Larry

>>> trik...@cllug.org 02/03/04 3:54 PM >>>

Larry,

Thank you

Sincerely,


--
gento...@gentoo.org mailing list

--
gento...@gentoo.org mailing list

Mark Knecht

unread,
Feb 3, 2004, 6:10:17 PM2/3/04
to
> How about just unmounting the disk and trying:
> dd if=/dev/cdrom of=EXILE_DISK_1.iso
> perhaps? That'll give you an exact (and burnable) copy of the disk.

Not a happy dd process...

Gentoo2 root # dd if=/dev/cdrom of=EXILE_DISK_1.iso
dd: reading `/dev/cdrom':Input/oupuut error
3304+0 records in
3304+0 records out
Gentoo2 root #

Tried it a couple of times. Exact same result both times.

Previously I made my iso's with xcdroast....


--
gento...@gentoo.org mailing list

Mark Knecht

unread,
Feb 3, 2004, 6:10:19 PM2/3/04
to

>
> You might try cdrdao, I have used it to copy all kinds of stuff.
>

Larry,
OK, I just emerged cdrdao. Can you provide me with a suggested command
line? Looking at the options it looks like it's intended for audio CDs and
not data CDs.

Thanks in advance,

gabriel

unread,
Feb 3, 2004, 6:20:10 PM2/3/04
to
i'd suggest k3b. it's pretty damned impressive when it comes to copying cds
regardless of copy protection. and yes, that's what it looks like is your
problem.

--
we live as though the world is as it should be
to show it what it can be
- angel, angel "deep down"


--
gento...@gentoo.org mailing list

Larry Meadors

unread,
Feb 3, 2004, 6:30:22 PM2/3/04
to
I used it for a data CD that was copy protected, and it worked.

YMMV. :)

I think these were the commands:

cdrdao read-cd --device 2,0,0 --read-raw \
--datafile mydata.bin -v 99 mydata.cue

Then this:

cdrdao write --device 2,0,0 --overburn \
-v 99 --speed 4 mydata.cue

Larry

>>> mkn...@controlnet.com 02/03/04 4:06 PM >>>

Thanks in advance,
Mark

--
gento...@gentoo.org mailing list

--
gento...@gentoo.org mailing list

Alex Nelson

unread,
Feb 3, 2004, 7:10:10 PM2/3/04
to
Larry Meadors wrote:

Copy protection systems many times put CRC values on the CD that do not
match the data. They then look for those "bogus" values when you go to
play the game. Most software wants to write the "correct" CRC which then
causes the game to fail. Good luck and send an email to the list if you
find a solution that works. I have several disks I would like to have
backups for but can't.

--
gento...@gentoo.org mailing list

Mark Knecht

unread,
Feb 3, 2004, 7:50:12 PM2/3/04
to
On Tue, 2004-02-03 at 15:27, Larry Meadors wrote:
> I used it for a data CD that was copy protected, and it worked.
>
> YMMV. :)
>
> I think these were the commands:
>
> cdrdao read-cd --device 2,0,0 --read-raw \
> --datafile mydata.bin -v 99 mydata.cue
>
> Then this:
>
> cdrdao write --device 2,0,0 --overburn \
> -v 99 --speed 4 mydata.cue
>

Cool. So my CDRW didn't have a built in driver, so it told me to choose
either the generic-mmc or generic-mmc-raw. Since your command said raw I
first tried the raw driver, and then the plain driver. Both go to the
same place and then start with messages like:

cdrdao read-cd --device 0,1,0 --read-raw --datafile exile1.bin -v 99
--driver generic-mmc exile1.cue
<SNIP>
WARNING: Found L-EC error at sector 827

etc.

Is this expected?

Thanks,

Mark Knecht

unread,
Feb 3, 2004, 8:20:04 PM2/3/04
to
On Tue, 2004-02-03 at 16:46, Mark Knecht wrote:

> Cool. So my CDRW didn't have a built in driver, so it told me to choose
> either the generic-mmc or generic-mmc-raw. Since your command said raw I
> first tried the raw driver, and then the plain driver. Both go to the
> same place and then start with messages like:
>
> cdrdao read-cd --device 0,1,0 --read-raw --datafile exile1.bin -v 99
> --driver generic-mmc exile1.cue
> <SNIP>
> WARNING: Found L-EC error at sector 827
>
> etc.
>
> Is this expected?
>

And then writing didn't work...:

bash-2.05b$ cdrdao write --device 0,1,0 --overburn -v 99 --speed 4
--driver generic-mmc exile1.cue
Cdrdao version 1.1.7 - (C) Andreas Mueller <and...@daneb.de>
SCSI interface library - (C) Joerg Schilling
Paranoia DAE library - (C) Monty

Check http://cdrdao.sourceforge.net/drives.html#dt for current driver
tables.

ERROR: exile1.cue:1: Illegal token: C
exile1.cue:1: syntax error at "EOF" missing TrackDef
bash-2.05b$


The cue file indeed is missing the TrackDef...

CD_ROM


// Track 1
TRACK MODE1_RAW
NO COPY
DATAFILE "exile1.bin" 71:09:25 // length in bytes: 753110400


Off to try k3b

Thanks!

- Mark


--
gento...@gentoo.org mailing list

Marshal Newrock

unread,
Feb 3, 2004, 8:30:15 PM2/3/04
to
On Tue, 3 Feb 2004, Mark Knecht wrote:

> > How about just unmounting the disk and trying:
> > dd if=/dev/cdrom of=EXILE_DISK_1.iso
> > perhaps? That'll give you an exact (and burnable) copy of the disk.
>
> Not a happy dd process...
>
> Gentoo2 root # dd if=/dev/cdrom of=EXILE_DISK_1.iso
> dd: reading `/dev/cdrom':Input/oupuut error
> 3304+0 records in
> 3304+0 records out
> Gentoo2 root #

That's correct. You get an I/O error when it hits the end of the disk.
If you mount the .iso on loopback, you'll see it's complete.

readcd (which I think comes with cdrtools) also does a similar thing.

--
CAUTION: Product will be hot after heating


--
gento...@gentoo.org mailing list

Mark Knecht

unread,
Feb 3, 2004, 9:30:11 PM2/3/04
to
On Tue, 2004-02-03 at 17:28, Marshal Newrock wrote:
> On Tue, 3 Feb 2004, Mark Knecht wrote:
>
> > > How about just unmounting the disk and trying:
> > > dd if=/dev/cdrom of=EXILE_DISK_1.iso
> > > perhaps? That'll give you an exact (and burnable) copy of the disk.
> >
> > Not a happy dd process...
> >
> > Gentoo2 root # dd if=/dev/cdrom of=EXILE_DISK_1.iso
> > dd: reading `/dev/cdrom':Input/oupuut error
> > 3304+0 records in
> > 3304+0 records out
> > Gentoo2 root #
>
> That's correct. You get an I/O error when it hits the end of the disk.
> If you mount the .iso on loopback, you'll see it's complete.
>
> readcd (which I think comes with cdrtools) also does a similar thing.

That's really interesting. Can you explain 'mounting on loopback'? What
is that? I only have one Linux book (Linux in a Nutshell) and it doesn't
have loopback in the index.

Anyway, if there's a chance that will work I'll do it again and write
the CDR.

Peter Ruskin

unread,
Feb 3, 2004, 9:40:06 PM2/3/04
to
On Wednesday 04 Feb 2004 02:27, Mark Knecht wrote:
> That's really interesting. Can you explain 'mounting on loopback'?
> What is that? I only have one Linux book (Linux in a Nutshell) and it
> doesn't have loopback in the index.

mount <iso-file> /mnt/tmp -t iso9660 -o loop

Peter
--
======================================================================
Gentoo Linux: Portage 2.0.49-r20 kernel-2.6.2-rc2-sparc
i686 AMD Athlon(tm) XP 3200+ KDE: 3.1.5 Qt: 3.2.3 gcc(GCC): 3.2.3
======================================================================


--
gento...@gentoo.org mailing list

Mark Knecht

unread,
Feb 3, 2004, 9:50:07 PM2/3/04
to

Humm....On a CCR of Dynebolics that I wrote earlier this week I do not
get the Input/Output error, and I get an iso file whose size makes
sense. On this game CD the iso file size doesn't make sense... (to me
anyway)

bash-2.05b$ ls -al EX
ls: EX: No such file or directory
bash-2.05b$ ls -al EX*
-rw-r--r-- 1 mark mark 1585152 Feb 3 18:30 EXILE_DISK_1.iso
bash-2.05b$ dd if=/dev/cdrom of=EXILE_DISK_1a.iso
dd: reading `/dev/cdrom': Input/output error
3096+0 records in
3096+0 records out
bash-2.05b$ ls -al EX*
-rw-r--r-- 1 mark mark 1585152 Feb 3 18:30 EXILE_DISK_1.iso
-rw-r--r-- 1 mark mark 1585152 Feb 3 18:31 EXILE_DISK_1a.iso
bash-2.05b$ dd if=/dev/cdrom of=DYNEBOLIC_DISK_1.iso
906848+0 records in
906848+0 records out
bash-2.05b$ ls -al DYNEBOLIC_DISK_1.iso
-rw-r--r-- 1 mark mark 464306176 Feb 3 18:41 DYNEBOLIC_DISK_1.iso
bash-2.05b$


--
gento...@gentoo.org mailing list

Alex Schuster

unread,
Feb 3, 2004, 9:50:08 PM2/3/04
to
Mark writes:

> On Tue, 2004-02-03 at 17:28, Marshal Newrock wrote:
>> On Tue, 3 Feb 2004, Mark Knecht wrote:

>>> Gentoo2 root # dd if=/dev/cdrom of=EXILE_DISK_1.iso
>>> dd: reading `/dev/cdrom':Input/oupuut error
>>> 3304+0 records in
>>> 3304+0 records out
>>> Gentoo2 root #
>>
>> That's correct. You get an I/O error when it hits the end of the disk.
>> If you mount the .iso on loopback, you'll see it's complete.
>>
>> readcd (which I think comes with cdrtools) also does a similar thing.

readcd also complains about the end of the disk, it's always the
second or third last block. This block contains no real data, so the
ISO will be okay, but it makes verifying the CD difficult. I read this
does not necessarily happen, but for me it does.

> That's really interesting. Can you explain 'mounting on loopback'? What
> is that? I only have one Linux book (Linux in a Nutshell) and it doesn't
> have loopback in the index.

This allows to mount an ISO image instead of a real CD:
mount -t iso9660 -o loop EXILE_DISK_1.iso /mnt/tmp

You need to have loopback device compiled into the kernel (or as
module).

Alex
--
Alex Schuster Wo...@wonkology.org PGP Key available
Wo...@netcologne.de

--
gento...@gentoo.org mailing list

Mental Patient

unread,
Feb 3, 2004, 11:10:07 PM2/3/04
to
Mark Knecht wrote:

>Hi,
> I've got a number of games for which I like to keep a backup copy of the
>CDs at the office. This saves me having to drag around the CDs and
>forgetting then in one place or another when the fancy strikes me to play.
>So far so good. This has always worked.
>
>
>

If you're talking about backing up copy protected windows games... do
it in windows. I know of no linux cdrecording software that properly
reproduces subchannel data.

> Am I dealing with copy protection, or is this something else?
>
>
>

Probably.

> I'm just using
>
>mkisofs -o EXILE_DISK_1.iso /mnt/cdrom
>
>
>

This just records the iso9660 image. The concept of subchannel data is
missing.


>which seems simple and straight forward, but maybe it's not good enough?
>There are a ton of options to mkisofs. Do I need to try some other specific
>ones?
>
>

In addition to copying the subchannel data, you need to get the burning
software to reproduce it. Windows has clonecd and other software...
linux has no need for this. I guess if someone felt like writing it they
could, but I really dont know where to get docs on how to properly
implement it.

If you have no clue what I'm talking about when I refer to subchannel
data, look here:

http://www.cdfreaks.com/article/44/4

It should be noted that not all cd-r's can reproduce this data.


--
Mental (Men...@NeverLight.com)

Omnem crede diem tibi diluxisse supremum.

GPG public key: http://www.neverlight.com/pas/Mental.asc

--
gento...@gentoo.org mailing list

Larry Meadors

unread,
Feb 4, 2004, 10:30:07 AM2/4/04
to
I did get warnings, but the CD still works.

I think it is warning you that there is something fishy going on, but
that it is going to proceed anyway.

Try it. Burn the CD and test it.

Larry

>>> markk...@comcast.net 02/03/04 5:46 PM >>>


WARNING: Found L-EC error at sector 827


--
gento...@gentoo.org mailing list

Arne Vogel

unread,
Feb 4, 2004, 6:20:05 PM2/4/04
to
Mark Knecht wrote:

>On Tue, 2004-02-03 at 17:28, Marshal Newrock wrote:
>
>
>>On Tue, 3 Feb 2004, Mark Knecht wrote:
>>
>>
>>
>>>>How about just unmounting the disk and trying:
>>>> dd if=/dev/cdrom of=EXILE_DISK_1.iso
>>>>perhaps? That'll give you an exact (and burnable) copy of the disk.
>>>>
>>>>
>>>Not a happy dd process...
>>>
>>>Gentoo2 root # dd if=/dev/cdrom of=EXILE_DISK_1.iso
>>>dd: reading `/dev/cdrom':Input/oupuut error
>>>3304+0 records in
>>>3304+0 records out
>>>Gentoo2 root #
>>>
>>>
>>That's correct. You get an I/O error when it hits the end of the disk.
>>If you mount the .iso on loopback, you'll see it's complete.
>>
>>readcd (which I think comes with cdrtools) also does a similar thing.
>>
>>
>
>That's really interesting. Can you explain 'mounting on loopback'? What
>is that? I only have one Linux book (Linux in a Nutshell) and it doesn't
>have loopback in the index.
>
>

It allows you to mount a file system from a file (it loops accesses to
this nested file system back into VFS,
hence the name). As already pointed out, you need kernel support and the
"-o loop" option to mount. For
example, you can mount an ISO image resting on a hard disk-based FS to
one directory, and then mount a ROMFS image
off the mounted ISO FS to another directory. I actually tried this, it
really works!

You just have to unmount in the reverse order of mounting these nested
file systems (otherwise umount will simply tell you that
the file system is still in use).


--
gento...@gentoo.org mailing list

Mark Knecht

unread,
Feb 4, 2004, 9:50:12 PM2/4/04
to
On Tue, 2004-02-03 at 20:05, Mental Patient wrote:

> If you're talking about backing up copy protected windows games... do
> it in windows. I know of no linux cdrecording software that properly
> reproduces subchannel data.

Well, you may be a mental patient, but you're a smart mental patient!


>
> > Am I dealing with copy protection, or is this something else?
> Probably.

Definitely. More in a minute..

<SNIP>


> In addition to copying the subchannel data, you need to get the burning
> software to reproduce it. Windows has clonecd and other software...
> linux has no need for this. I guess if someone felt like writing it they
> could, but I really dont know where to get docs on how to properly
> implement it.
>
> If you have no clue what I'm talking about when I refer to subchannel
> data, look here:
>
> http://www.cdfreaks.com/article/44/4

This was very helpful. Thanks for the pointers, both to this site, and
to CloneCD. After doing some reading at this site and Googling around a
bit, I eventually learned about a number of programs - CloneCD, Alcohol
120% and Blindwrite being the most popular. Apparently CloneCD is not
being developed much any more, and the Alcohol 120% site is very active,
so I gave it a try. After burning 2 coasters while learnnin to use the
program (and making it much more difficult than it had to be!) I got a
good copy in about 10 minutes of using the program correctly.

One very useful site is here

http://www.makeabackup.com/modules.php?name=Game_Protections_List

which give a good list of exactly what protection specific games are
using. Armed with this info you then know how to run Alcohol 120% using
its default settings and things jsut work.

> It should be noted that not all cd-r's can reproduce this data.
>

Very true I found out. Luckily all of mine have the capability to burn
subchannel data correctly, or appear to.

Again, thanks very much. While I wish I could do this in Linux, and
possibly will find I can one of these days, it's great to have this
working right now.

Cheers,

Norbert Kamenicky

unread,
Feb 7, 2004, 12:20:46 PM2/7/04
to
Mark Knecht wrote:
>>How about just unmounting the disk and trying:
>> dd if=/dev/cdrom of=EXILE_DISK_1.iso
>>perhaps? That'll give you an exact (and burnable) copy of the disk.
>
>
> Not a happy dd process...
>
> Gentoo2 root # dd if=/dev/cdrom of=EXILE_DISK_1.iso
> dd: reading `/dev/cdrom':Input/oupuut error
> 3304+0 records in
> 3304+0 records out

It fails for some of these reasons:

1. broken CD
2. end of CD (to check it, mount cd, run "df" and compare sizes)
3. copy protected CD.

It can be a problem to differentiate reasons 1.and 3. because
some manufacturers probably use the same copy protection method
as used on floppies in old times ... some theory follows:

Sector on CD is 2352 Bytes, 2048 for data, the rest is for
headers and CRC. Normally every sector's CRC is calculated
from sector's data (IMHO calculated by CD burner itself).
In this way it's possible to read a CD even if reading of
some bits fails (for different reasons).

Sector intentionally burned with broken CRC and/or header (yes,
it's possible to do!) can be used as copy indicator, because
on original CD read error occurs (data still can be read OK),
but on copied CD the error is "corrected".

dd command will fail with broken sector msg or so.
U can still read it using this command:

dd if=/dev/cdrom of=my.iso conv=noerror bs=1k count=[size shown by df]

The problem is to burn the image now, because if u burn it in
usual way, CRC/header of the "broken" sector will be burned properly.

There are for sure other possibilities how CD's can be copy protected
and still readable by dd without any error ( e.g. info from CD's header
can be checked etc.)

I don't know about linux SW, which can clone such CD's,
but I heard "clonecd" or "nero" for micro$hit should do it.

noro


--
gento...@gentoo.org mailing list

Andrej Kacian

unread,
Feb 11, 2004, 10:00:25 AM2/11/04
to
On Wed, 04 Feb 2004 18:46:50 -0800
Mark Knecht <markk...@comcast.net> wrote:

> Again, thanks very much. While I wish I could do this in Linux, and
> possibly will find I can one of these days, it's great to have this
> working right now.

Be sure to let others know, if you find out. :)

--
/~\ The ASCII Andrej "Ticho" Kacian <andrej at kacian dot sk>
\ / Ribbon Campaign GnuPG public key ID: 7CD93FE2 (pgp.mit.edu)
X Against HTML Key fingerprint:
/ \ Email! E87D 9DEF 2A23 6FFB 7AD9 542F 4253 3A46 7CD9 3FE2

Reply all
Reply to author
Forward
0 new messages