For those with experience in the file systems and intricacies of video DVDs I apologize for any ignorance on my part. I just encountered something that got me to thinking, as was hoping someone my be able to point me in the right direction in order to reproduce it.

I've run into a DVD video protection scheme that seems to be somewhat effective in stopping casual users making copies. It is fallible though, and can be bypassed by AnyDVD.
None the less, I found myself intrigued by the way in which the DVD are "protected". An unprotected ISO of a video DVD is selected then edited by the program. This produces a slightly larger output ISO which can then be burned normally. This protected ISO seems to contain 99 copies of the original VTS_XX.vob video files, their .BUPs and .IFOs, as well as an edited version of the VIDEO_TS.IFO.

In an attempt to recreate this scheme I manually edited the VIDEO_TS.IFO an original unprotected ISO. This did nothing to slow any modern DVD ripping software, leading my to believe that the brunt of the protection lies in they high number of copies of the original .VOB/.BUP/.IFO files. Each of the 99 video files on the protected ISO all seem to play the same video and larger videos, when protected state the the size of the extracted files will be high above that possible for a DVD disk (10-20gigs).

So my main question to those that have more experience, does this sound like some kind of corruption of the underlying UDF file system? And if so, is it reproducible?
Any suggested links/reading material regarding any of these topics would be appreciated as well.

This question came from our site for professional and enthusiast programmers.

Your description has me guessing that those 99 files are probably all just linked to the same file (like a hardlink in Unix). Perhaps the copy protection checks each of these files to confirm that they all lead to the same actual data?
–
Randolf RichardsonApr 14 '11 at 1:29

That's kind of what I'm thinking. Other than causing most ripping software to fail the protected DVD is playable on most set top DVD players, but I'm pretty sure this scheme is built on the idea of breaking DVD video standards. Any idea how I might be able to manipulate an ISO myself to do that? Is there maybe some bit of software that would allow me to create multiple links to a particular sector of memory in an ISO with a UDF file system, or is this something that I would have to put together from scratch?
–
William_RikerApr 14 '11 at 17:28

Perhaps not video standards themselves, but just being tricky in a way to cause problems for "DVD rippers." Since a hardlink is valid in Unix environments (and many others these days), it could just be more of "bending the UDF rules" a bit. Perhaps the authors of the "DVD backup" software you're using may be interested in your findings?
–
Randolf RichardsonApr 14 '11 at 21:58

1 Answer
1

It's a form of DVD protection called structure protection, which as you have correctly guessed is designed to make casual copying harder. The video stream is divided into a large number of segments between a few seconds and several minutes in length, which are then linked in a different order in each of the 99 titles, only one of which is the correct order for watching the movie. A naive attempt to copy the DVD will either result in an image which is far too large to be burned (because each of the 99 titles will be extracted as a separate video stream, even though the source material is linked, not duplicated), or the ripper will have to guess which is the correct title to extract and most likely pick one which has scenes out of order.

Like all other attempts at DVD protection, this scheme does not actually prevent ripping by a knowledgeable user and makes legal playback of the DVD on using certain open-source players more difficult, but as far as I know is not actually violating the DVD standards which permit fairly complex arrangement of video sequences. In order to implement it yourself you would most likely require support from the DVD-authoring software, rather than using UDF filesystem tricks.