DVD Situation Takes New Turn
Several readers wrote in to let us know that the maintainer of css-auth has announced the
end of his involvement with CSS, while the DeCSS
person has removed the source from his website. The source has been removed at the behest of lawyers representing "the film industry".
Leaving the key under the mat is also a bad idea
Letting amateurs implement crypto doesn't work so well either
But the worst mistake is to alienate a whole bunch of smart people who understand locks by selling them horses but not letting them ride them
In the future if you are basing a business on the use of large secret numbers you had better use really big ones .... and maybe not leave them around where people can find them
Yet another geek bullied by lawyers... Luckily many people got down copies of the source when the ruckus started so that it'll live on... Reminds me of ultraHLE... Maybe somebody should fly an airplane over lots of major cities and airdrop CD's with the code on them to all the geeks of the world =:-) Hmm... Seriously though, does anybody know of a good country with no laws or at least no extradition treaty to host this site? Maybe Cuba? Russia? Hmm....
---
Play Six Pack Man. I
Lawyers, I suppose, justify their fees by the number of 'cease-and-desists' they issue. I can think of no other reason for this; there's no point whatsoever in trying to force stuff off the internet.
Of course, if they spammed every internet user with their little threats, they might get as much as 10% of the existing copies off the net. But banned code is like the hydra; cut off one head and two more sitez appear.
Now that it's underground, will we have to refer to it as CZZ?
The damage has been done, it can't be stopped, and now the film industry is trying to save face. End of story.
Now I just wish I had the money for a few 30 gig drives...
They'd hire these guys to work on a new DVD encryption solution. Or even if that's impossible at this point, they'll find some way to make their skills useful to the industry instead of chasing their asses in court.
Would any of our foreign friends be willing to host a mirror? Perhaps it's time to move the CSS part of the DVD project outside the US. It would still be legal to write code for viewing DVDs that just had a big hole for a "black-box" CSS decryption part, right?
And besides, what does the NSA care about CSS? If it's just the "entertainment industry" & pals, then there's no real danger.
Can your IM do this?
Any chance of a generous /.er posting a URL that points to the DeCSS source?
LK
"Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
Is start pushing vendors (say, Linux vendors) and users (especially those of us who own DVD players) to publically come out and say "I would rather be able to play a DVD on a Linux system".
;)
Point out to these people that many of us will buy *more* DVD's if we can use them on our Linux boxes.
Follow the money; if we make the "win condition" be to use an open standard and encourage people to write DVD players, we'll see the DVD industry admit that, maybe, not all users are pirates.
You, too, can contribute: Decapitate one person a week who pirates software or art.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
Hey, comeon people! Like they always say on the X-Files, "the source is out there!" ... They can't stop development on decss, there are too many people who have either the key or the code! We shall prevail, and the tyranny that is shass crumble beneath the power of the nerds!
Some of the biggest costs in the film industry come from:
If you embrace an open source ideology, distribution costs are reduced. Why? Because the technology required to mass-produce is being developed far faster by far more people than otherwise possible.
The same is true for piracy prevention. There are far more cryptologists working on and testing Open Source crypto tech than there are in the entire film industry. Result - the film industry can't afford to produce anti-piracy measures that can hope to survive, using proprietary methods. But, if they used an Open Source approach, they'd have protection from pirates comparable to the best protection the US Government can throw at it's most secret information.
Advertising and promotion - which is cooler, a mug with a badly-drawn picture of a character on it, for one movie, or several lines in a CREDITS file in every movie distribution that company makes? Now, which is cheaper, for the company?
Special effects - BMRT blows Renderman away, for the simple reason Renderman doesn't ray-trace. It only simulates. Partly because it's very expensive on the computer to apply raytracing and radiosity to every frame, in high quality. Open Source the frame data, and collaboratively render the CGI. You will end up with infinitely cooler graphics than ANY organisation (with the exception of MS) could EVER pay for out of it's own pockets, and at practically zero monetary cost.
The film industry is destroying itself, in it's efforts to protect itself, through it's choice of protection. Isolation NEVER, EVER works to protect, in the long term.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Yes, have him remove the source from his webpage, this will fix everything. After all, it's well known that source code can't simply be downloaded like other files, and can't be copied endlessly throughout the net, or else we'd be in REAL trouble...oh wait, it can.
Anyways, I don't see the trouble, DVD will come to linux/freebsd/beos/whatever else in time as it becomes increasingly popular...though it still kinda pisses me off that those trying to help get crucified by the lawyers (so to speak) over it.
Please post a link to a mirror if anyone knows of any.
Derek was told that he was in violation of the Copyright, Designs & Patents Act 1988, Sections 296(1) and (2). These sections read:
(1) This section applies where copies of a copyright work are issued to the public, by or with the licence of the copyright owner, in an electronic form which is copy-protected.
(2) The person issuing the copies to the public has the same rights against a person who, knowing or having reason to believe that it will be used to make infringing copies-
(a) makes, imports, sells or lets for hire, offers or exposes for sale or hire, or advertises for sale or hire, any device or means specifically designed or adapted to circumvent the form of copy-protection employed, or
(b) publishes information intended to enable or assist persons to circumvent that form of copy-protection,
as a copyright owner has in respect of an infringement of copyright.
[(2A) Where the copies being issued to the public as mentioned in subsection (1) are copies of a computer program, subsection (2) applies as if for the words "or advertises for sale or hire" there were substituted "advertises for sale or hire or possesses in the course of a business.]
Clearly, the DVD consortium would try to demonstrate breach of copyright under clause 2(b) as Derek has published information intended to enable or assist persons to circumvent that form of copy-protection. The fact that we are NOT using this information to actually copy DVDs is IRRELEVENT, simply publishing the information is, under this statute, equivalent to infringement of copyright.
In my opinion Derek would be found liable by the court as this statute stands. Derek is a scapegoat - the DVD consortium have not gone after others who have worked on cracking CSS because they reside in coutries that do not have such a law on the books. Unfortunately, the UK parliament passed this law (no doubt after considerable lobbying by industry groups) and Derek is a UK resident so they went after him.
EVEN if the DVD Consortium was on shaky legal grounds, the cost in time and money of fighting a copyright infringement case is astronomical and I think most people in Derek's position would have done the same thing.
There is no point in arguing over whether reverse engineering is legal, whether this is a breach of free speech; as the statute stands, publishing details on how to circumvent copyright prevention is itself an infringement of copyright, pure and simple.
Nick
-- "It's a sad day for American capitalism when a man can't fly a midget on a kite over Central Park" - Jim Moran
If someone will kindly post a URL to the CSS source (which I foolishly failed to grab when this all started going down), I will publicly mirror it on a decently fast connection, and see how long it takes the lawyers to get on my tail.
If you want to email me privately rather than post here, send mail to fuckthelawyers@devzero.org.
It won't work.
Now that it is public knowledge that CSS has been broken, even if deCSS never puts back up the source, other people will pick up where deCSS left off. It is only a matter of time before we can see whatever DVDs we want.
The discovery of DVD keys (and how to break them) won't hurt the movie industry in the long run. Projects like deCSS now face a similar situation as what the MP3 music format faces- MP3 will hurt music, says RIAA, so they try to discourage it. MP3 has not hurt music sales, no matter how much RIAA tries to say it has. The same argument was used for regular VCRs, blank audio tapes, etc.
The arguments did not work then, and they certainly won't stop us here.
If the CSS/DVD community had a mature, fully working product, I'd agree with the "locking the barn door..." sentiments, but it's not. What the DVD people and their lawyers are doing is trying to scare off any serious developers from working on CSS. And it's working. Simple fact: most people who would be interested in developing and using FREE (beer and speech) DVD players don't have the money to fight the teams of lawyers that are being sicced on them. The same thing happened with the 8Hz MP3 decoder. The corporations that are making the money off of digital media don't WANT to go to court. As long as the legal status of DVD/MP3 is the least bit murky, they have the advantage. Once they get into court, they either win or lose BIG.
just your typical cease and desist, after the fact, http://perso.libertysurf.fr/dvdutils/mpaa.htm
Nick
-- "It's a sad day for American capitalism when a man can't fly a midget on a kite over Central Park" - Jim Moran
or just click here.
What I would like to see happen is a group of the big name Linux vendors (Since they have money) get together and pay for the lawyers that it would take to fight these guys.
:))
Red Hat, Caldera, VA Linux - Those are three big companies that ought to think about footing the bill to protect this stuff. What's good for Linux in general will be good for all of them. The Linux community is about working together, why not work together here?
There are a few emerging technologies that Linux needs if it is going to be a big success outside of servers and embeded systems. USB is one, DVD is probably another. (We've got a good start on USB which will probably be stable and real usable by 2.4) It looks like DVD is emerging as a technology that will be widely adopted. Without it, Linux will be a weak platform for desktop users.
There are lots of desktop computers out there, lets not give up on them. (Give me an excuse to buy a DVD player
Do the DVD consortium truely believe that if a few guys can crack it in their spare time and make the source available that the true pirates have not cracked it already? The people who make money from it are the industry's problem. How many of us would waste $20 of hard disk space to save a film on?
CMU, at the behest of the RIAA just reprimanded students for using the microsoft network to distribute mp3s and other software. They did this because they aren't a common carrier of information and could be sued by the RIAA. Here we see another man, using what can only be described as trade secrets to create an unliscenced DVD player over the internet.
Why do we pretend, sometimes, to care about IP at all, when by our actions we decry it as a thing of any value to society? Why do we feel so moved by this guy risking his neck against the Movie industry when thousands of penniless college students are doing the same against the music industry?
What is the internet? If a library can loan out books to anyone who wants them at any time, then why aren't library books on the internet, as well as tapes and cds that are at all libraries; even movies and newspapers are in libraries. If all that information IS ALREADY FREE AT THE NEAREST LIBRARY, then is the internet going to be, in the near future, simply a big shared *free* library?At some libraries I went to, some software was available for borrowing.
Okay, I'm done ranting now. Flame away.
-Benjamin Shniper
I will have nothing to do with work on CSS. If there is any work that I may be considered to have ownership of, I give up all rights to that work.
Yeah, he got raped by room 101. They grabbed him, tore him apart, and dumped his pieces back into the sewer. It's a shame, we need to support him as best we can. Primarily by distributing the source code as far as we can.
Kintanon
Check out JoshJitsu.info for Brazilian Ji
Does anyone know MORE's website. Also, what is the guy talking about when he reffers to Altavista. I was there for 20 minutes and didn't find anything. But - no matter. I downloaded DeCSS as soon as I found out about it.
Can you keep your head,
Your backbone,
or your heart.
Will will all find out the answere on the day it falls apart.
(L. Fish)
Making backups is leagle
Media shifting is leagle
Fair use is leagle
these are all things that this coding is preventing
things that are leagle...
RE for compatibility is leagle
So what is the problem here?
It can't really be copying because the only copying that can do any real harm is done with disk pressing not disk burning.
What this is realy about is stopping people from makeing DVDs without going through the channels
If we can uncode their movies we can incode are own. THAT IS WHAT HAS THEM JUMPING it is the same thing that has them jumping about MP3.
It's not the copying stupid it's the creation they
have to stop.....
Decss 1.21B has been sighted at www.dvdsoft.de. Time for the /.effect. Lets grab the code, change it, create an easy to install/use package. I smell another open sourced project on the horizon. Time to make a DVD player in our image. And let's not forget to make a port for the Lawyers running Windows...:)
I think it's both incredibly funny and awesome that as soon as the lawyers decided that you can't have the source code, interest in it must have jumped by like 6,000%. Open CSS development probably just kicked into high gear because of this decision. Had this not happened, it probably would have stayed in the public eye (of the linux community anyway), but I doubt as many people would have wanted to become involved with the project as they do now... hehe... smooth move film industry. :)
So the motion picture industry is threatening geeks now. Surprise, surprise.
Let's see here; Between 1/2" mag tape, cassettes, VCRs, CD-R(W), MP3s, and now hacking DVDs, the entire entertainment industry must be on the verge of bankruptcy! The poor execs!!!
Oh, wait a minute--they're _not_ broke? Now howinthehell did THAT happen?
The industry knows full well that VCRs, despite the problems of piracy, have made more money for them than anything else ever has. They also know that, like with CDs (mostly) replacing records, they'll be able to jack up the price of DVDs and make a _larger_ profit. There is no question of them losing money to pirates on this glitch.
So why are they threatening programmers? Three reasons:
1) Because they can. (power)
2) Because they want to. (greed and powerlust)
3) Because they do. (force of habit)
Both music and movie industries have consistently taken the myopic view of technology, and have ended up hurting themselves every time. It's clear that they won't learn any better. However, it's really starting to piss me off, and I'll be making a point of illegally copying movies when I can, the same way that the industry convinced me to copy CDs of major artists. (indies and the like always get my money--they need it!)
The sadist in me is rubbing his hands together with glee--they'll hurt themselves more this time than they have yet.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
It's really pathetic. It used to be the case where system breakers were the ones who need to hide behind an alias. Now this may start a trend where regular coders has to publish code behind an alias so they won't be hunted down patent and copyright lawyers.
Wait till Linux 'accidently' incorporated a patented algorithm. Linus Toravlds will suddenly dissappear from linux-devel. The mysterious "Father Penguin" recently decided to take over the maintainence of the linux project. The FBIs will be on to Linus, accussing him to be the hacker by the name of "Father Penguin" but Linus said, "you can't prove it!" and the masses will go "Yeah right! but we are still with you!"
Hasdi
--
Me too
lounger@vegasnug.com
-LoungeAct-
I have the code mirrored on my website at http://www.devzero.org/freecss.html. Feel free to download it and post it somewhere else. Email me at the address I mention, and I will link to your mirror.
Anybody still have the files? I never bothered grabbing them as this computer hasn't a DVD player. I have access to quite a number of machines in several locations around the world and am already being sued for a few things so what the hell do I care if one more wants to sue me. Anyone who has the files email them to mogmiosSPAM@excite.com and I'll grab them and let you know where I put them first. Also I suggest everyone create a Tripod/Geocities/whatever account (or 20) and mirror the files on each one and preferably change the file name for each account so that it is harder for them to scan for. That way even if they are forced to scan by some lawyer they have plausible proof they are doing their best without actually getting rid of the files.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
...that the entertainment industry feels like it has to maintain a stranglehold on their products (movies and music mainly). I really want to see some numbers that show how much money the industry "loses" by allowing people the capability to digitally copy works. If it was as bad as they say it is, artists would stop putting out music and record companies would go under. As another /. poster said earlier (would post link but can't find it), it's people that steal movies and cd's from stores that cause the biggest financial drain on the industry. I just want to be able to make backup copies of my DVD's. Is that so wrong?
--Jack--
Demona's Law - "User data expands to exceed available bandwidth." ("User data" being pr0n, mp3's, vob's,
http://www.rhythm.cx/dvd
There is a list of other mirrors there as well. Well there will be as soon as people start mirroring it :).
Thanks.The email address of the lawyers in question has been post ed to the list as well.
If you are a developer, forget spamming and complaining - contribute to the Linux DVD project and wherever DeCSS/css-auth ends up.
Of course, publicly, you should repeat this mantra after me
I will have nothing to do with work on CSS. If there is any work that I may be considered to have ownership of, I give up all rights to that work.
;-P
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
Wouldn't that be the League for Programming Freedom?
Granted, they are primarily focused on patents, but it's a start.
This
You have chosen to make that difficult, if not impossible. As a result, you will find me purchasing no further DVDs, at all, forever, until such a time as I am able to view them using the platform of my choice in an open and free manner. If you were to check my financial records over the last several years, you would find I have spent thousands of dollars on Laser Disks. Future thousands for DVD releases could also have been yours.
Not anymore.
Not only will I not be purchasing any further DVDs until I can view them under Linux, I won't be purchasing any further movies of any kind, on any medium, from you folks. I am going to rediscover the library as a form of entertainment, and do my best to insure that no further dollars pass from my wallet to yours, either at the video store, video rental store, cable box, or even at the theater.
It is my hope that others will feel, and do, likewise.
In the meantime, perhaps you should reflect upon your own strategies, and consider the following carefully.
The Future of Human Evolution: Autonomy
cssdvd.zip
It appears many people on /. are advocating the wrong approach to dealing with this, namely spreading the code far and wide. This is doomed to fail, because we're being driven underground, and prevented from engaging in perfectly legal activity...the reverse engineering of CSS for the purposes of compatibility. Spreading the code around in the absence of someone willing to take responsibility for maintaining it is not going to help in producing a Linux/OpenSource DVD player. Running underground is acting like the pirates they want to paint us as.
I can understand Jon and Derek's position. When the laywer hounds of hell are after you and you're in the hotseat, it's perfectly natural to turn and run. Is there a larger organization (with deeper pockets and/or staff lawyers) that'd be willing to take a stand with Jon and/or Derek to fight for their rights? Perhaps we could get the FSF or the EFF interested. Probably the EFF more so than the FSF, but still do we wish to give up our rights simply because we're unwilling to fight for them?
I PAID for the bleeping movie. Get the fscking lawyers out of my player! They're jamming up the mechanism! :)
cssdvd.zip
1) From what I've gathered there are two things going on here, once is the Linux dvd project that distributed software that could play dvd movies if a user had the original DVD disc (That's Derek in the UK right?) The other is these guys in Norway who distributed code that's clearly for cracking. Why are both of these groupd getting picked on, it seems to me only one was trying to pirate content.
2) What does DeCSS have to do with users who just want to play their disks in their computers? Does making a player cause CSS to be defeated?
3) I'm all for free information here, but there seems to be a lot of people whining about some guys who knew damn well their work would be used to rip off content.
Anyone have any answers?
-Rich
After having demonstrated that Security through
Obscurity doesn't work, I guess the MPAA is trying to demonstrate that Security through Terrorism does work.
This is an entirely understandable reaction. They are just trying to ensure that the next "tamper-proof" copy protection scheme remains tamper-free.
One incentive less to go see a movie.
Well from what I have heard China is a really popular place to put material that people want and distribute it illegally. Even though the mainstream press has given them a bad pr image they still continue to thrive. I really would thing that any major third world country that hasn't anything really much to loose or is perhaps self contained could work for that purpose in theory. It's only in places where people are afraid of looking bad because it might endanger their payments on their new Porche or palatial home.
Slashdot social engineering at it's finest
It's up here: Activist defends DVD hack
Surprisingly enough, they come out on the good side of it - even some quotes from some EFF folks on how not everyone who has this is going to go out and pirate their local Blockbuster out of business.
-Denor
Enjoy... cssdvd.zip
Ah well, one can always hope they aren't that stupid.
http://www.logorrhea.com/main.html
The big "screw the lawyers link" I'll keep it up as long as possible.
EVEN if the DVD Consortium was on shaky legal grounds, the cost in time and money of fighting a copyright infringement case is astronomical and I think most people in Derek's position would have done the same thing.
I agree - and I think that this also points to how we get around this .... bend, don't break .... there are lot more of us than them (the lawyers) what should happen now is that someone else should pick up the torch, move the sources under CVS elsewhere and continue work on linux DVD .... don't make a big deal about it .... but also realise that eventually the lawyers will come after you, when they do you raise a stick, then bow out gracefully and pass the torch ...
It's interesting how much more interested people seem to be now than when it was first available. Hmmm... this reminds me of a few other things that are considered a Bad Thing © by many governments:
It certainly gets my attention, but I wonder how much of a `problem' any of the above really are (or rather would be, if they were legal).
Anyway, I had a rhyme that goes:
Mirror, mirror on the wall
how many copies, let's count them all!
--
E2 IN2 IE?
The main difference in their eyes is that it's almost more of an emergent technology and medium. They want to control it steadily and slowly so that all people from here on out have to pay to use them with different taxes and encoders and various schemes. They just think that people who use linux are bad. Maybe this is perhaps because for the oversimplified reason that if I use a free OS then it makes me a cheap scate. Many people involved in making upper level policy devisions are usually not the type of people who can make strong intellectual arguments for or against a certain topic. It seems that free time activities are now more important than work. I would think that the increasing desire for measures like these are actions made by people who hate their current line of work and want to do something that they are perhaps better suited for. Their thought is why should an artist's life be hard and fraught with suffering. Now I know this is probably a really bad argument when such artists usually make several million dollars per picture enough to make them completely comfortable for the rest of their lives but it is an argument that is frequently used.
Slashdot social engineering at it's finest
Every time I see another article on this, I'm quite glad that I picked up a Creative 6X package with dxr3 decoder card. Not only can I boot windows and get the best hardware decoding out there with the software to go with it, Linux versions are on the way that don't require insane amounts of cpu power and won't get me jailed. Sure this is a crude way of thinking the whole thing through, but perhaps in the long run it is the _far_ better solution on my end.
Interested in open source engine management for your Subaru?
Every time I see another article on this, I'm quite glad that I picked up a Creative 6X package with dxr3 decoder card. Not only can I boot windows and get the best hardware decoding out there with the software to go with it, Linux versions are on the way that don't require insane amounts of cpu power and won't get me jailed. Sure this is a crude way of thinking the whole thing through, but perhaps in the long run it is the _far_ better solution on my end.
Interested in open source engine management for your Subaru?
keeping the API secret for your competitors is illegal in .eu
does that mean that MS can't sell windows in EU without giving competitors in EU the info on their hidden API's?
Traffic tickets. If you want to get out of something, find a lawyer that is willing to listen. Let them know you want to fight it as it is a matter of principle --all the way if necessary.
I did just this back when I was a bit wild with sports cars. 5 speeding tickets in one year in Kansas City. The law there only allows one ticket to be "reduced" to a parking ticket in one year (if you have lawyer!) To make a long story short, I got out of all of them with a total cost of $1055. The largest 90/55 was dismissed, while others were reduced to parking tickets.
I grew up since then (haven't been pulled over for a traffic violation after I sold the car.) If you want to fight something, you have to have an interest and ask for help. The legal system works both ways. Use it.
Why are people complaining? The whole thing can be summed up like this:
;)
They broke the law. =(
Bad bad hackers!!! Shame on you!!!
Clear enough? So stop whining about it and start finding other solutions. Kudos to the posts that have so far offered solutions.
Here's another one:
1) Find a group of knowledgable linux coders.
2) Approach a dvd player company and offer your services to them with the purpose of writing a Linux SoftDVD player.
3) Sign the necessary Non Disclosure Agreements
4) If necessary, distribute binary only versions of the codecs etc. Like what the xanim guy does.
It may not be open source, but at least it gets the process moving. And gives us something to use. Until all DVD players switch over to using the nuon chip for their interfaces.
"You want to kiss the sky? Better learn how to kneel." - U2
"It was like trying to herd cats..." - Robert A. Heinlein
Sig:
Barbeque is a noun. Not a verb.
This is not the way to stop people from copying DVD's. If I wanted to copy a DvD I would need a DvD writer that costs like $4000 and then I would need blanks that cost more then the DvD movie would cost. That makes it not worth the money to copy the DVD because even if I try to sell them (not that I would) I would have to charge more for the copy then I paid for it. And what person would pay more for the copy then the original. Then you might have some people that would like to make a back up of the DVD and then store the original in a safe place incase the copy was to get scratched but it would still cost less for them to just buy the movie twice. One way they could prevent this, is if your dvd movie will not play because it's been scratched then you can send it back and get a replacement for free or very cheap. Another is to always keep the price of dvd's cheaper then DvD blanks.
If you piss people off, by a) introducing the regional encoding thing, and b) not inviting alternative OSes to the party, this is exactly what is going to happen. They've been too greedy and too protective, and it's backfired on them. Too bad!
We have zillions of computer hackers.
We need some law hackers.
Remember the scene in Cryptonomicon when the ultra-rich guy with the huge house talks about a "simple legal hack" to get some zoning clearance?
It's one thing to have a pirate haven, it's another thing to have the bandwidth to host a site , CVS server, etc. Most of the people who are professional pirates makes a lot of money doing it, setting up little shops stacked with pirated CDs. If they were to host a server and let anyone access and download stuff from them, AND they have to pay for the bandwidth - then there's really not any incentive for them to do it, right? I believe that a while ago an article was posted here on how Argentina supreme court ruled that copying of commercial software is not a crime because there is no real financial loss. Can someone dig up the URL? -=- SiKnight
I would actually find that useful, if I wasn't getting an :
Download failed on 134.173.94.44 (/cssdvd.zip). (/cssdvd.zip: Access is denied. )
on it.
When I first heard about DeCSS, I thought, 'Gee, that's interesting. Another weak encryption system broken. *shrug*' and proceed to promptly forget about the entire thing.
Then a few lawyers get involved. Why do I suddenly feel the need to download the source and walk through it line by line?
So far, I haven't heard of any attempt to shutdown the Linux DVD player efforts (please correct me if I'm wrong). It appears that the efforts to date focus only on a tool aimed specifically at facilitating DVD copying. If I am correct, I urge patience.
I find it hard to believe that an effort will be made to block a Linux DVD player. Linux owners are the recording industry's best customers - generally young (15-35) with lots of sending money and an interest in techno-gadgits. The goals of the recording industry are really simple: maximize profits. They really don't want to offend the Linux audience unless their profits are threatened.
If, on the other hand, an attempt is made to block the Linux development efforts, tell me where to contribute to the legal defense fund. $50 * 1k people starts to get interesting.
Given one hour to live, the student replied: "I'd spend it with professor FP who can make an hour seem like a lifetime."
Hmmm...What was going through the DVD industries' heads?
"Oooh...I have a good idea, let's try threats!
I think we should threaten the entire open source community by bullying a couple of hackers around."
Bad idea.
This is going to backlash tenfold. It has already started with what is probably going to be a very large number of mirror sites of these products. Maybe they'll learn that can't bully us around.
So I used CVS to snag the code about 4 days ago.
Heh.
For every problem, there is at least one solution that is simple, neat, and wrong.
>>They broke the law. =(
Hey dickhead, the country where the reverse engineering was done does not prohibit the practice, hence it was LEGAL to reverse engineer the Xing DVD player.
>>Clear enough? So stop whining about it and start finding other solutions.
Complaining about abuses is only annoying "whining" to you? Short sighted asshole, would you tell someone who'd just been raped to "Quit whining and pull up your panties."?
>>It may not be open source, but at least it gets the process moving. And gives us something to use.
Not good enough. If there is no open source alternative the people who make it have the power to kill it.
DIVX anyone?
LK
"Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
I have always wondered about this but wouldn't that be the best place for say a really seriously overclocked group of machines? Just leave them outside during the winter in waterproof cases and let them go. Just keep the displays indoors. Since antartica has almost no precipitation anyway.
Slashdot social engineering at it's finest
...he can be sued for infringement of the US Copyright laws? This makes no sense! And it is specifically the US Copyright law: the references stated are to the US Copyright law, and this form of copying is not forbidden by the Berne convention, and probably not by the UK or Norwegian copyright laws.
The lawyer strikes. The lawyer hits. You feel confused.
From what I understand there's no copyright on css, it's simply a trade secret so you can't sue for copyright infringement just because the author wrote DeCSS (this is one of those guns don't kill people people kill people screwed up things). Yeah I suppose someone could use this technology to copy a dvd but the prices of rewritable dvd media tends to be higher than the cost of the original movie and the dvd recorders are even higher so there's no way you could make enough of a profit off selling dvd movies to pay off the proce of the recorder.
I applaud creative labs for taking the initative and releasing source code for the dxr2 cards, this is the first smart thing anyone in the industry has done. Rather than get everyone angry and start a media field day the recording industry should just make dvd an open standard, they'd get alot more respect that way.
So what will happen to dvd now?
Will it go the way of betamax as a new standard comes in the door? You can't just ignore everyone who's bought a dvd player. It's not as if now all of a sudden dvd is insecure, we're talking about 8 gig disks here it's not as if you can open a geocities account and start trading them over the net.
Bottom line is that the recording industry can make alot more money by selling dvd products to those that have been without (ie linux and other "alternative" oses) and I think as soon as they relaize that they've got the choice between suing one person and making abit of money allowing it to pass and making them alot of money they'll choose to let it pass.
(Supposing it does pass this leaves the dorr open for alot of interesting legal arguments based on it though.)
- MbM
- MbM
I was planning to buy a DVD player, but now I have changed my mind.
...richie - It is a good day to code.
1. find out exactly who those lawyers represent in "the film industry" and then boycott and badmouth the companies in the most creative ways possible. How many times have you seen a Hollywood movie where the villains are evil corporate types? My isn't that a meme to surf upon. Can you imagine the parody websites?
2. find out exactly which countries are free of copyright laws such as these. move public reverse engineering there. everyone else in the gulag must circulate source samizdat.
3. send money to someone, say ESR or RMS (i don't care) to start a legal defense fund, and recruit right-thinking lawyers who value freedom and progress to work pro bono defending Derek et al.
4. this would be tricky: Try an "Atlas Shrugged" play where all open source software would just quit working on a chosen protest day. 1/1/00?
Under US law there is no such thing as
"Intellectual Property"
Its COpywrite law that you mean. IP is a term
invented by lawyers of big companies to make
it sound like they have more rights than they do.
anyone looking for further comment on the subject
should check out www.gnu.org
"I opened my eyes, and everything went dark again"
source binary Mind moderating this up one or two so it shows in thread lists for people with higher thresholds :)
Providing the methods to infringe upon a copyright holders material is just ridiculous. This would make the sale of the following items a sue-able offence: 1. paper & pen 2. copy machine 3. any photographic equipment 4. teaching your child to speak (they may repeat someone else's words in an unauthorized manner.) Where does it end?
t
Well for one, you own nothing aside from the right to view the movie in your home. It's encoded on the shiny little disk you purchased, but so far as your rights go, it's the same as goes for commercial software.
While i don't understand why the movie industry insists on this, I do understand that it's their right to determine proper usage, because they paid for it's creation and hence, it's their property.
If you don't like their terms, you can.
1 - Use that Windows partition for something.
2 - Buy a regular DVD Player.
3 - Boycott DVD and stick with the inferior, yet more open VHS.
That's probably not what you want to hear, but, you know, lifes not always fair. Perhaps this'll cause a "GNUMS" (GNU Movie Studio) to spring to life? Doubt it!
PS
Moderators: I'm only stating it the way i see it. Please don't relegate me to troll-dom because of that.
Allright, to add to the discussion I am going to play devils advocate.
:-)) I am in Europe, but I watch Futurama, which is not broadcasted here. Thanks to the Internet. It has become to easy. (No I don't feel any remorse over this, great work Groenig)
The industry is right in feeling threatened and it is nothing more then logical that they take action. This is not about being able to watch DVD on Linux or not. This is about the possibility to make money of copyrighted data. For most of you downloading a dvd or vcd is not an option, but the moment that you can download a vcd in under 5 mins, you don't care anymore. This allready happened with MP3, but a better example is paper. How many of you have paid copyrights over the copies that you made of a book? (give me a percentage, if you can
Basically what we see here is an industry trying to put a stop to a tidal wave. It is almost impossible, but free codecs just like we have with MP3 would be a deathblow. Because of the impossibility in several countries to use strong encryption, they have to find other ways. It seems the only way they have at the moment is to attack this and see that it gets removed, we may not like this, but it is no reason to get angry over.
Information wants to be free, but it shouldn't allways be.
Use Adsense for Charity
ftp://193.219.56.32/pub/dvd/LiVid.CVS-11.06.tar.gz - entire cvs tarball (>2 megs)
- stuff-only.tar.gz
and
ftp://193.219.56.32/pub/dvd/LiVid.CVS-11.06.css
It seems to me that a "Clash of the Titans" is in order.
We, as individual developers and users of Linux have essentially all we need at this point to view DVDs on our PCs. While it may be illegal to do so in nations where there exist (unjust, IMHFO) laws against disabling copy protection, I believe this is not a deterrent to any individual hoping to enjoy a DVD in the privacy of his/her home. The code is indeed in a primitive state, but a nice little GUI app could easily be built at this point and distributed anonymously to the world, giving Joe/Jane linux a nice little RPM that allows them to watch The Matrix without having to break out gcc.
It seems that those who have something to lose now are the distributors of Linux like RedHat and Debian. If they are unable to include a DVD player in their distros, then this gives Windows/MacOS/Etc. a (small?) competetive advantage for attracting users (home users, especially). It seems that it would be in the best interest of RedHat, Caldera, SuSe, Debian, Corel, Winlinux (haha) to come together and either fight the necessary legal battle or to chip in to pay whatever extortion fees are necessary to the DVD consortium for a player key. I doubt the consortium would agree to the latter. Personally, I prefer the former as it will (I hope) defend the freedom of all of us. Too bad the defense of freedom is so fscking expensive.
Will these companies step up to the plate? Or is Linux going to be faced with sticking to its hobbyist/enthusiast roots WRT this issue?
The copyrights that really need to be enforced by these Hollywood bozo's are the lame ideas for movies that they are constantly stealing from each other.
In fact, if we were lucky, one of us could patent a lame idea process, and sue their pants off for nine tenths of the movies they produce.
t
programs...
Not to insult you, but this being such a commodity right now I'm sure someone somewhere may be playing cruel tricks with the file.
Still, it's a shame this had to happen.
-AS
-AS
*Pikachu*
source binary
ncf
I'd hate to say this to all you people....I fully support open source software....but you guys are getting the wrong fucking idea.
Cracking the decryption scheme and distributing it is going to destroy the format. The issue is not being able to play DVDs on Linux. If you want to do that then buy a fuckign lisence to use some of the code and write a closed module to play. Just like what they have to do to write stuff for windows... you people are stealing....
if it was released under an open source license then that's a different story.
Besides, software playback is crap....with Creative releasing DXR2 drivers and the whole work on Matrox's drivers, you can control the decoders and never see the decryption.....
Grow the fuck up and stop whining when you can't get something for free!
really - nothing motivates me to grab things I've no interest in other than hearing is about to be BANISHED! Part of fighting lost freedoms and self determination I guess. Cell phone scanners outlawed, had to get one. Religious groups protests a film, had to go see it. Bill Cosby won't sell copies of "Little Rascals", had to buy a complete set. Etc, etc,etc. Now I've got DeCSS.exe and livid.tar. Maybe make a T-shirt.
Chuck
try { do() || do_not(); } catch (JediException err) { yoda(err); }
da w00t. mtfnpy?
Saying "Oh, I quit, and renounce ownership of all this" isn't exactly going to save you from the wrath of the legal system...and it doesn't matter they have no case, they have money, and if they wanna push it, this guy is toast.
I heard a story a few years back where a [cr|h]acker broke into a bank's computers and deposited small sums of money over a period of time into his account. The bank found this person by total coincidence (I think a teller saw that he was loaded and was curious how he made his fortune).
So, what did the bank do? Sue him? Destroy his reputation/credit rating? Nope. They hired him. It made perfect sense, he knew more about their computer security than they did and he was more valuable as an ally than enemy.
I wish the entertainment industry understood this. I'm sure there is a solution that will allow movies to be secure without denying Linux users the right to see them. But they are not interested. Instead they are stuck with their screw up and Linux is still without DVD support.
Ozwald
It looks to me like Derek and the folk in the UK have a problem with that 1988 Copyright law, which doesn't seem to put them on very clear legal ground as far as the right to reverse engineer CSS. I presume there isn't necessarily a right to Fair Use there. But as far as I know, reverse engineering CSS should be perfectly legal in the US. IANAL, of course. But under what law could the movie industry lawyers thwack us? I am just curious, because if there is no legal ground for us to be thwacked, there should be plenty of people here in the US willing to take over this project.
Perhaps the project should move to the US. Don't we have a "fair use" section in our copyright law? Would that apply?
penguinicide... when jumping out a window just won't do.
I agree... more or less. What they're really saying is that you own the right to view it in your own home using one of the pre-approved viewing methods. I still chafe at the idea that if I choose to view it in a manner different from what "they" envisioned, then I am committing a crime.
Most of this boils down to what they're trying to prevent, which is illegal copying*. Exposing flaws in encryption methods aids and abets those who would violate copyright laws. But who should be punished?
If Consumer Reports exposes the fact that you can pop the lock on a Yugo by hitting the right rear quarter panel with your palm, are they suddenly liable for auto theft?
Or, take the gun control argument. Do you go after the gun makers, or the people who use the guns to murder people? Some might argue this differently from the "Yugo" example above.
Arguments can probably be made either way, that either the "enabler" or the "perpetrator" should be punished. Or both. :/ In this case, the right thing seems to be to go after the people responsible for the action which causes direct harm to the industry - the pirates. Not the guys who show how the scheme works.
*unless they also want to get rich from licensing fees for DVD players....
-- $SIGNATURE
This has been asked in previous related stories, but I don't believe anyone provided an answer.
/. effect.
Is there an e-mail contact(s) that we can write to in an attempt to "educate" the industry that they are walking over the rights of those who choose non-proprietary software and who have paid for DVD materials like everybody else?
Let them phear the
Meet region coding and CSS crypto. DVD's version of the bozo bit. Well, like it or not, legal or not, moral or not, (it no longer matters), the code to break CSS and region coding is 'out there'. It cannot all be recalled. Ever. The genie is out of the bottle. Trying harder to contain distribution will only encourage others to spread it further, deliberately, from nations out of your jurisdiction yet as easily reachable by anyone, anywhere on the earth as if if were on a floppy next door. The DVD consortium has failed to keep its trade secret. And since they took NO ACTION TO PROTECT their protection scheme such as patenting it, they have little justification to go after hackers for breaking it. They do have a case against Xing since Xing signed an NDA to keep DVD crypto info secure and did not. But there's no basis for a suit against anyone else on this matter. That's a risk that comes with keeping trade secrets. The DVD consortium took a risk and lost. Life's a bitch ain't it? Eventually lawyers will give up their futile pursuits and regions/CSS will be viewed the same way we all regard the 'bozo bit' on HFS and the 'allow copy' flag on audio CDs today. Namely, no one will care because movie companies will still be making lots of money just like the music industry still is today. How could the latter happen? CDs have no crypto, no region coding, CDR burners can be had for under $200, CDR media is at 89cents and falling. The music industry should be horribly dead by now as a result. Guess what? It isn't. Neither will the movie makers be. This is much ado about nothing.
The cat is out of the bag. It's doubtful that the secrets of CSS are going to be forgotten any time soon.
Since this poor fellow looks like he'll be on the hook for doing simple development work, maybe we need to rethink how we will do controversial development in the future, stuff like unwelcome reverse engineering. If publishing the results makes one personally open to lawsuits, this is bad.
How to avoid personal liability? Businesses have the corporation, which has the advantage that it gets sued, not the individuals in it. Perhaps a lawyer could comment on whether it makes sense to incorporate hacking groups to avoid personal liability for hacking done.
Would this work?
Is this federal law or personal opinion? On the face of it, if I buy a 7-series, smash the windows out and make a flower pot of the rest I'm not aware of anything BMW can do about it. How can movie studios force someone to buy and use Windows? Would playing frisbee with the disc contravene fair use? Any legal eagles around?
Just gotta rant.
Why are they surprised? They come up with some pansy-ass encryption scheme to protect their precious movies. They slobber all over Windows, but offer no support whatsoever to Linux. It's a bit daft, you know, giving drivers to the relatively non-technical Windows crowd, and leaving the Linux folks to figure it out for themselves. The lawyers and friends-of-lawyers make good points about the precise definition of copyright infringement, but this code didn't allow anyone to copy movies. It's been said before: The writable DVD's are too small and expensive. You could fit a movie on a hard disk, but, again, it's too expensive. You could download it from the net, but c'mon. Who among us has EVER downloaded 7 gigs in a sitting? And would you really rather do that and fill up a whole disk, or just go buy the damn DVD at Wal-Mart? Hell, I'm too lazy to download the newest Red Hat distribution, let alone a whole movie.
How the hell do they expect us to run DVD's if they won't give us the damn drivers, or at least some scheme whereby to write the drivers without stepping on their lawyers' toes?
And where did all this legal hooplah come from? Copy protection. Do you know the extent of copy protection on VHS? It's those little plastic tabs on the cassete. Break off the plastic tabs, and it's copy protected. Cover the resulting holes with tape, and it's unprotected. And you know what? Even with this easily broken copy protection, Steven Spielberg still manages to pay his electric bill. John Travolta gets three square meals a day. And Robert Downey Jr can still...well...you get the picture.
In short:
Dumb: Spend an assload of money on wimpy encryption and droves of lawyers. Dare the Linux community to break your encryption by offering ZERO support. Breed animosity and resentment.
Smart: Forget encryption. It WILL get broken sooner or later. Spend the money on better screenplays. Fire about half your lawyers. Spend the money on better screenplays. Offer good product support. Or don't. It won't matter if you don't get your legal panties in a bunch. Learn the power of good PR.
So, if I have the right to view the DVD, then don't I also have the right to view it using Linux software, if I want?
The point is, as always, they are hurting the people who legitamately own DVDs and doing virtually nothing to stop the real pirates. Remember copy protection on software? Look up the codes in the manual? It only hurt the consumers...the pirated versions were easier to use.
So here we go again...consumers paying all this extra money for useless copy protection that only makes it more enticing to buy pirated DVD's so you don't have to put up with the BS.
Stupid sexy Flanders.
4 - Crack the region coding, the Macrovision coding, and the CSS encryption, make dozens of free copies, and give them away to homeless people, 'cuz them m*****f*****s are rich, arrogant b******s and they're fun to f***k over, and they so richly deserve it.
they've been forcing me to buy mass quantities of astroglide over the years, and i'm going to laugh my ass off when the shoe's on the other foot.
-k. ^-^ ^D
1. I think that it's way to early for the studios to respond intelligently to this. Asking their lawyers to shoot first, and ask questions later, is the natural response to any threat; whether it's sensible or not. What would you expect them to do? Perhaps they are looking to buy some time.
And while it's perfectly true that today there is no threat whatsoeverfrom home-pirated DVDs, this will change in the not-distant future. The cost of portable storage has been falling, and the capacity increasing, apace with Moore's law, and there's no reason to expect it to stop.
2. I think that the correct approach here would be to continue to work on a Linux DVD player, that has no inherent capability to copy disks. The laws that I have seen prohibit devices whose purpose it is to break copyright, but a Linux DVD player won't do that. I'd do this in the open; rather than covertly (although covert ones will certainly move forward, too.)
The studios may claim that this software is prohibited because the subroutines that decode the disk could be copied, and used in a program that copies disks. I doubt that this would succeed, but IANAL. If the studios do make this claim, then I will ask my lawyer about this, (and pay handsomely for the advice :))
thad
I love Mondays. On a Monday, anything is possible.
And wanting to play a movie that I bought on my computer IS a fair use. How could you say that it is not fair use.
It took reverse engineering to make my OS "compatible" with DVD's.
AMD reverse engineers INTEL to make INTEL software run on AMD.
Wine reverse engineers Windows to make Windows software run on Wine.
Linux reverse engineers DVD to make DVD software run on Linux.
No difference.
Well I really don't do that sort of thing due to some really obvious things. One of them is that there are really not a whole lot of guides that are up to date enough to give a person who is just starting out some fair idea of how to do it. If anyone knows of one please give me a call. I really break out in a cold sweat when I have to handle several hundred dollars worth of expensive equipment.
Slashdot social engineering at it's finest
At least Derek's looks, from armchair-law point
of view, to be possibly enforceable against him.
Not know UK law in detail, or -any- precedents
that set scope, who knows for sure.
If they went after someone in the US where we
actually -have- a right of free speech and don't
have (that I know of) laws against distributing
information that enables the circumvention of
copy protection... well, here, at least, we could
defend against this kind of charge. I think.
--Parity
--Parity
'Card carrying' member of the EFF.
The way _I_ interpret a response to this kind of thing (the publishing of source) is not that they don't want you to watch movies you own. I think they are more concerned about the people who don't plan on using this source to nicely bring the medium to Linux/FreeBSD/etc/etc, but those who plan on using it to copy DVDs illegally. While I don't agree with the "movie industry's" schemes for controlling import/export across their prorietary bounderies, based on their attitudes, I do understand their response to this situation. (Sick the lawyers on people and plug the flood as fast as possible)
-- let me burn you let me burn you let me burn you -Front 242
..now I'll say it again. The Internet makes control of digital media IMPOSSIBLE. Until the record/movie/entertainment companies realize this and embrace it, we will continue to see walls of Lawyers trying to hold back an invisible tide.
(thnx for the link BTW)
+&x
If you release something that COULD be used for copyright infringement, you're guilty of copyright infringement?
That's like saying if you sell a kitchen knife, knowing it COULD be used for killing someone, you're guilty of murder!
Granted, there are cases where that is murky territory, as in lawsuits against gun companies, but at least in the case of guns, the sole purpose of the gun is to kill people.
As long as copyright infringement is not the sole purpose of his program, I think it's absolutely absurd to say he's guilty of copyright infringement just because his program COULD be used for it.
Too bad that law's on the books. It's a really disgusting law.
What about the ability to take the raw output of the movie on your television screen and take those raw impulses and recode them into something like MPEG-3 or something and have the contents of the movie? Is this impossible?
Slashdot social engineering at it's finest
css-auth.h
/* In order to ensure that the LFSR works we need to ensure that the
/* Feed the secret into the input values such that
/* This term is used throughout the following to
/* Now the actual blocks doing the encryption. Each
----------
typedef unsigned char byte;
struct block {
byte b[5];
};
extern void CryptKey1(int varient, byte const *challenge, struct block *key);
extern void CryptKey2(int varient, byte const *challenge, struct block *key);
extern void CryptBusKey(int varient, byte const *challenge, struct block *key);
css-auth.c
----------
/*
* Copyright (C) 1999 Derek Fawcus
*
* This code may be used under the terms of Version 2 of the GPL,
* read the file COPYING for details.
*
*/
/*
* These routines do some reordering of the supplied data before
* calling engine() to do the main work.
*
* The reordering seems similar to that done by the initial stages of
* the DES algorithm, in that it looks like it's just been done to
* try and make software decoding slower. I'm not sure that it
* actually adds anything to the security.
*
* The nature of the shuffling is that the bits of the supplied
* parameter 'varient' are reorganised (and some inverted), and
* the bytes of the parameter 'challenge' are reorganised.
*
* The reorganisation in each routine is different, and the first
* (CryptKey1) does not bother of play with the 'varient' parameter.
*
* Since this code is only run once per disk change, I've made the
* code table driven in order to improve readability.
*
* Since these routines are so similar to each other, one could even
* abstract them all to one routine supplied a parameter determining
* the nature of the reordering it has to do.
*/
#include "css-auth.h"
typedef unsigned long u32;
static void engine(int varient, byte const *input, struct block *output);
void CryptKey1(int varient, byte const *challenge, struct block *key)
{
static byte perm_challenge[] = {1,3,0,7,5, 2,9,6,4,8};
byte scratch[10];
int i;
for (i = 9; i >= 0; --i)
scratch[i] = challenge[perm_challenge[i]];
engine(varient, scratch, key);
}
/* This shuffles the bits in varient to make perm_varient such that
* 4 -> !3
* 3 -> 4
* varient bits: 2 -> 0 perm_varient bits
* 1 -> 2
* 0 -> !1
*/
void CryptKey2(int varient, byte const *challenge, struct block *key)
{
static byte perm_challenge[] = {6,1,9,3,8, 5,7,4,0,2};
static byte perm_varient[] = {
0x0a, 0x08, 0x0e, 0x0c, 0x0b, 0x09, 0x0f, 0x0d,
0x1a, 0x18, 0x1e, 0x1c, 0x1b, 0x19, 0x1f, 0x1d,
0x02, 0x00, 0x06, 0x04, 0x03, 0x01, 0x07, 0x05,
0x12, 0x10, 0x16, 0x14, 0x13, 0x11, 0x17, 0x15};
byte scratch[10];
int i;
for (i = 9; i >= 0; --i)
scratch[i] = challenge[perm_challenge[i]];
engine(perm_varient[varient], scratch, key);
}
/* This shuffles the bits in varient to make perm_varient such that
* 4 -> 0
* 3 -> !1
* varient bits: 2 -> !4 perm_varient bits
* 1 -> 2
* 0 -> 3
*/
void CryptBusKey(int varient, byte const *challenge, struct block *key)
{
static byte perm_challenge[] = {4,0,3,5,7, 2,8,6,1,9};
static byte perm_varient[] = {
0x12, 0x1a, 0x16, 0x1e, 0x02, 0x0a, 0x06, 0x0e,
0x10, 0x18, 0x14, 0x1c, 0x00, 0x08, 0x04, 0x0c,
0x13, 0x1b, 0x17, 0x1f, 0x03, 0x0b, 0x07, 0x0f,
0x11, 0x19, 0x15, 0x1d, 0x01, 0x09, 0x05, 0x0d};
byte scratch[10];
int i;
for (i = 9; i >= 0; --i)
scratch[i] = challenge[perm_challenge[i]];
engine(perm_varient[varient], scratch, key);
}
/*
* We use two LFSR's (seeded from some of the input data bytes) to
* generate two streams of pseudo-random bits. These two bit streams
* are then combined by simply adding with carry to generate a final
* sequence of pseudo-random bits which is stored in the buffer that
* 'output' points to the end of - len is the size of this buffer.
*
* The first LFSR is of degree 25, and has a polynomial of:
* x^13 + x^5 + x^4 + x^1 + 1
*
* The second LSFR is of degree 17, and has a (primitive) polynomial of:
* x^15 + x^1 + 1
*
* I don't know if these polynomials are primitive modulo 2, and thus
* represent maximal-period LFSR's.
*
*
* Note that we take the output of each LFSR from the new shifted in
* bit, not the old shifted out bit. Thus for ease of use the LFSR's
* are implemented in bit reversed order.
*
*/
static void generate_bits(byte *output, int len, struct block const *s)
{
u32 lfsr0, lfsr1;
byte carry;
* initial values are non-zero. Thus when we initialise them from
* the seed, we ensure that a bit is set.
*/
lfsr0 = (s->b[0] b[1] b[2] & ~7) b[2] & 7);
lfsr1 = (s->b[3] b[4];
++output;
carry = 0;
do {
int bit;
byte val;
for (bit = 0, val = 0; bit > 24) ^ (lfsr0 >> 21) ^ (lfsr0 >> 20) ^ (lfsr0 >> 12)) & 1;
lfsr0 = (lfsr0 > 16) ^ (lfsr1 >> 2)) & 1;
lfsr1 = (lfsr1 > 1) & 1)
combined = !o_lfsr1 + carry + !o_lfsr0;
carry = BIT1(combined);
val |= BIT0(combined) 0);
}
static byte Secret[];
static byte Varients[];
static byte Table0[];
static byte Table1[];
static byte Table2[];
static byte Table3[];
/*
* This encryption engine implements one of 32 variations
* one the same theme depending upon the choice in the
* varient parameter (0 - 31).
*
* The algorithm itself manipulates a 40 bit input into
* a 40 bit output.
* The parameter 'input' is 80 bits. It consists of
* the 40 bit input value that is to be encrypted followed
* by a 40 bit seed value for the pseudo random number
* generators.
*/
static void engine(int varient, byte const *input, struct block *output)
{
byte cse, term, index;
struct block temp1;
struct block temp2;
byte bits[30];
int i;
* we alter the seed to the LFSR's used above, then
* generate the bits to play with.
*/
for (i = 5; --i >= 0; )
temp1.b[i] = input[5 + i] ^ Secret[i] ^ Table2[i];
generate_bits(&bits[29], sizeof bits, &temp1);
* select one of 32 different variations on the
* algorithm.
*/
cse = Varients[varient] ^ Table2[varient];
* of these works on 40 bits at a time and are quite
* similar.
*/
for (i = 5, term = 0; --i >= 0; term = input[i]) {
index = bits[25 + i] ^ input[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
temp1.b[i] = Table2[index] ^ Table3[index] ^ term;
}
temp1.b[4] ^= temp1.b[0];
for (i = 5, term = 0; --i >= 0; term = temp1.b[i]) {
index = bits[20 + i] ^ temp1.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
temp2.b[i] = Table2[index] ^ Table3[index] ^ term;
}
temp2.b[4] ^= temp2.b[0];
for (i = 5, term = 0; --i >= 0; term = temp2.b[i]) {
index = bits[15 + i] ^ temp2.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
index = Table2[index] ^ Table3[index] ^ term;
temp1.b[i] = Table0[index] ^ Table2[index];
}
temp1.b[4] ^= temp1.b[0];
for (i = 5, term = 0; --i >= 0; term = temp1.b[i]) {
index = bits[10 + i] ^ temp1.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
index = Table2[index] ^ Table3[index] ^ term;
temp2.b[i] = Table0[index] ^ Table2[index];
}
temp2.b[4] ^= temp2.b[0];
for (i = 5, term = 0; --i >= 0; term = temp2.b[i]) {
index = bits[5 + i] ^ temp2.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
temp1.b[i] = Table2[index] ^ Table3[index] ^ term;
}
temp1.b[4] ^= temp1.b[0];
for (i = 5, term = 0; --i >= 0; term = temp1.b[i]) {
index = bits[i] ^ temp1.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
output->b[i] = Table2[index] ^ Table3[index] ^ term;
}
}
static byte Varients[] = {
0xB7, 0x74, 0x85, 0xD0, 0xCC, 0xDB, 0xCA, 0x73,
0x03, 0xFE, 0x31, 0x03, 0x52, 0xE0, 0xB7, 0x42,
0x63, 0x16, 0xF2, 0x2A, 0x79, 0x52, 0xFF, 0x1B,
0x7A, 0x11, 0xCA, 0x1A, 0x9B, 0x40, 0xAD, 0x01};
static byte Secret[] = {0x55, 0xD6, 0xC4, 0xC5, 0x28};
static byte Table0[] = {
0xB7, 0xF4, 0x82, 0x57, 0xDA, 0x4D, 0xDB, 0xE2,
0x2F, 0x52, 0x1A, 0xA8, 0x68, 0x5A, 0x8A, 0xFF,
0xFB, 0x0E, 0x6D, 0x35, 0xF7, 0x5C, 0x76, 0x12,
0xCE, 0x25, 0x79, 0x29, 0x39, 0x62, 0x08, 0x24,
0xA5, 0x85, 0x7B, 0x56, 0x01, 0x23, 0x68, 0xCF,
0x0A, 0xE2, 0x5A, 0xED, 0x3D, 0x59, 0xB0, 0xA9,
0xB0, 0x2C, 0xF2, 0xB8, 0xEF, 0x32, 0xA9, 0x40,
0x80, 0x71, 0xAF, 0x1E, 0xDE, 0x8F, 0x58, 0x88,
0xB8, 0x3A, 0xD0, 0xFC, 0xC4, 0x1E, 0xB5, 0xA0,
0xBB, 0x3B, 0x0F, 0x01, 0x7E, 0x1F, 0x9F, 0xD9,
0xAA, 0xB8, 0x3D, 0x9D, 0x74, 0x1E, 0x25, 0xDB,
0x37, 0x56, 0x8F, 0x16, 0xBA, 0x49, 0x2B, 0xAC,
0xD0, 0xBD, 0x95, 0x20, 0xBE, 0x7A, 0x28, 0xD0,
0x51, 0x64, 0x63, 0x1C, 0x7F, 0x66, 0x10, 0xBB,
0xC4, 0x56, 0x1A, 0x04, 0x6E, 0x0A, 0xEC, 0x9C,
0xD6, 0xE8, 0x9A, 0x7A, 0xCF, 0x8C, 0xDB, 0xB1,
0xEF, 0x71, 0xDE, 0x31, 0xFF, 0x54, 0x3E, 0x5E,
0x07, 0x69, 0x96, 0xB0, 0xCF, 0xDD, 0x9E, 0x47,
0xC7, 0x96, 0x8F, 0xE4, 0x2B, 0x59, 0xC6, 0xEE,
0xB9, 0x86, 0x9A, 0x64, 0x84, 0x72, 0xE2, 0x5B,
0xA2, 0x96, 0x58, 0x99, 0x50, 0x03, 0xF5, 0x38,
0x4D, 0x02, 0x7D, 0xE7, 0x7D, 0x75, 0xA7, 0xB8,
0x67, 0x87, 0x84, 0x3F, 0x1D, 0x11, 0xE5, 0xFC,
0x1E, 0xD3, 0x83, 0x16, 0xA5, 0x29, 0xF6, 0xC7,
0x15, 0x61, 0x29, 0x1A, 0x43, 0x4F, 0x9B, 0xAF,
0xC5, 0x87, 0x34, 0x6C, 0x0F, 0x3B, 0xA8, 0x1D,
0x45, 0x58, 0x25, 0xDC, 0xA8, 0xA3, 0x3B, 0xD1,
0x79, 0x1B, 0x48, 0xF2, 0xE9, 0x93, 0x1F, 0xFC,
0xDB, 0x2A, 0x90, 0xA9, 0x8A, 0x3D, 0x39, 0x18,
0xA3, 0x8E, 0x58, 0x6C, 0xE0, 0x12, 0xBB, 0x25,
0xCD, 0x71, 0x22, 0xA2, 0x64, 0xC6, 0xE7, 0xFB,
0xAD, 0x94, 0x77, 0x04, 0x9A, 0x39, 0xCF, 0x7C};
static byte Table1[] = {
0x8C, 0x47, 0xB0, 0xE1, 0xEB, 0xFC, 0xEB, 0x56,
0x10, 0xE5, 0x2C, 0x1A, 0x5D, 0xEF, 0xBE, 0x4F,
0x08, 0x75, 0x97, 0x4B, 0x0E, 0x25, 0x8E, 0x6E,
0x39, 0x5A, 0x87, 0x53, 0xC4, 0x1F, 0xF4, 0x5C,
0x4E, 0xE6, 0x99, 0x30, 0xE0, 0x42, 0x88, 0xAB,
0xE5, 0x85, 0xBC, 0x8F, 0xD8, 0x3C, 0x54, 0xC9,
0x53, 0x47, 0x18, 0xD6, 0x06, 0x5B, 0x41, 0x2C,
0x67, 0x1E, 0x41, 0x74, 0x33, 0xE2, 0xB4, 0xE0,
0x23, 0x29, 0x42, 0xEA, 0x55, 0x0F, 0x25, 0xB4,
0x24, 0x2C, 0x99, 0x13, 0xEB, 0x0A, 0x0B, 0xC9,
0xF9, 0x63, 0x67, 0x43, 0x2D, 0xC7, 0x7D, 0x07,
0x60, 0x89, 0xD1, 0xCC, 0xE7, 0x94, 0x77, 0x74,
0x9B, 0x7E, 0xD7, 0xE6, 0xFF, 0xBB, 0x68, 0x14,
0x1E, 0xA3, 0x25, 0xDE, 0x3A, 0xA3, 0x54, 0x7B,
0x87, 0x9D, 0x50, 0xCA, 0x27, 0xC3, 0xA4, 0x50,
0x91, 0x27, 0xD4, 0xB0, 0x82, 0x41, 0x97, 0x79,
0x94, 0x82, 0xAC, 0xC7, 0x8E, 0xA5, 0x4E, 0xAA,
0x78, 0x9E, 0xE0, 0x42, 0xBA, 0x28, 0xEA, 0xB7,
0x74, 0xAD, 0x35, 0xDA, 0x92, 0x60, 0x7E, 0xD2,
0x0E, 0xB9, 0x24, 0x5E, 0x39, 0x4F, 0x5E, 0x63,
0x09, 0xB5, 0xFA, 0xBF, 0xF1, 0x22, 0x55, 0x1C,
0xE2, 0x25, 0xDB, 0xC5, 0xD8, 0x50, 0x03, 0x98,
0xC4, 0xAC, 0x2E, 0x11, 0xB4, 0x38, 0x4D, 0xD0,
0xB9, 0xFC, 0x2D, 0x3C, 0x08, 0x04, 0x5A, 0xEF,
0xCE, 0x32, 0xFB, 0x4C, 0x92, 0x1E, 0x4B, 0xFB,
0x1A, 0xD0, 0xE2, 0x3E, 0xDA, 0x6E, 0x7C, 0x4D,
0x56, 0xC3, 0x3F, 0x42, 0xB1, 0x3A, 0x23, 0x4D,
0x6E, 0x84, 0x56, 0x68, 0xF4, 0x0E, 0x03, 0x64,
0xD0, 0xA9, 0x92, 0x2F, 0x8B, 0xBC, 0x39, 0x9C,
0xAC, 0x09, 0x5E, 0xEE, 0xE5, 0x97, 0xBF, 0xA5,
0xCE, 0xFA, 0x28, 0x2C, 0x6D, 0x4F, 0xEF, 0x77,
0xAA, 0x1B, 0x79, 0x8E, 0x97, 0xB4, 0xC3, 0xF4};
static byte Table2[] = {
0xB7, 0x75, 0x81, 0xD5, 0xDC, 0xCA, 0xDE, 0x66,
0x23, 0xDF, 0x15, 0x26, 0x62, 0xD1, 0x83, 0x77,
0xE3, 0x97, 0x76, 0xAF, 0xE9, 0xC3, 0x6B, 0x8E,
0xDA, 0xB0, 0x6E, 0xBF, 0x2B, 0xF1, 0x19, 0xB4,
0x95, 0x34, 0x48, 0xE4, 0x37, 0x94, 0x5D, 0x7B,
0x36, 0x5F, 0x65, 0x53, 0x07, 0xE2, 0x89, 0x11,
0x98, 0x85, 0xD9, 0x12, 0xC1, 0x9D, 0x84, 0xEC,
0xA4, 0xD4, 0x88, 0xB8, 0xFC, 0x2C, 0x79, 0x28,
0xD8, 0xDB, 0xB3, 0x1E, 0xA2, 0xF9, 0xD0, 0x44,
0xD7, 0xD6, 0x60, 0xEF, 0x14, 0xF4, 0xF6, 0x31,
0xD2, 0x41, 0x46, 0x67, 0x0A, 0xE1, 0x58, 0x27,
0x43, 0xA3, 0xF8, 0xE0, 0xC8, 0xBA, 0x5A, 0x5C,
0x80, 0x6C, 0xC6, 0xF2, 0xE8, 0xAD, 0x7D, 0x04,
0x0D, 0xB9, 0x3C, 0xC2, 0x25, 0xBD, 0x49, 0x63,
0x8C, 0x9F, 0x51, 0xCE, 0x20, 0xC5, 0xA1, 0x50,
0x92, 0x2D, 0xDD, 0xBC, 0x8D, 0x4F, 0x9A, 0x71,
0x2F, 0x30, 0x1D, 0x73, 0x39, 0x13, 0xFB, 0x1A,
0xCB, 0x24, 0x59, 0xFE, 0x05, 0x96, 0x57, 0x0F,
0x1F, 0xCF, 0x54, 0xBE, 0xF5, 0x06, 0x1B, 0xB2,
0x6D, 0xD3, 0x4D, 0x32, 0x56, 0x21, 0x33, 0x0B,
0x52, 0xE7, 0xAB, 0xEB, 0xA6, 0x74, 0x00, 0x4C,
0xB1, 0x7F, 0x82, 0x99, 0x87, 0x0E, 0x5E, 0xC0,
0x8F, 0xEE, 0x6F, 0x55, 0xF3, 0x7E, 0x08, 0x90,
0xFA, 0xB6, 0x64, 0x70, 0x47, 0x4A, 0x17, 0xA7,
0xB5, 0x40, 0x8A, 0x38, 0xE5, 0x68, 0x3E, 0x8B,
0x69, 0xAA, 0x9B, 0x42, 0xA5, 0x10, 0x01, 0x35,
0xFD, 0x61, 0x9E, 0xE6, 0x16, 0x9C, 0x86, 0xED,
0xCD, 0x2E, 0xFF, 0xC4, 0x5B, 0xA0, 0xAE, 0xCC,
0x4B, 0x3B, 0x03, 0xBB, 0x1C, 0x2A, 0xAC, 0x0C,
0x3F, 0x93, 0xC7, 0x72, 0x7A, 0x09, 0x22, 0x3D,
0x45, 0x78, 0xA9, 0xA8, 0xEA, 0xC9, 0x6A, 0xF7,
0x29, 0x91, 0xF0, 0x02, 0x18, 0x3A, 0x4E, 0x7C};
static byte Table3[] = {
0x73, 0x51, 0x95, 0xE1, 0x12, 0xE4, 0xC0, 0x58,
0xEE, 0xF2, 0x08, 0x1B, 0xA9, 0xFA, 0x98, 0x4C,
0xA7, 0x33, 0xE2, 0x1B, 0xA7, 0x6D, 0xF5, 0x30,
0x97, 0x1D, 0xF3, 0x02, 0x60, 0x5A, 0x82, 0x0F,
0x91, 0xD0, 0x9C, 0x10, 0x39, 0x7A, 0x83, 0x85,
0x3B, 0xB2, 0xB8, 0xAE, 0x0C, 0x09, 0x52, 0xEA,
0x1C, 0xE1, 0x8D, 0x66, 0x4F, 0xF3, 0xDA, 0x92,
0x29, 0xB9, 0xD5, 0xC5, 0x77, 0x47, 0x22, 0x53,
0x14, 0xF7, 0xAF, 0x22, 0x64, 0xDF, 0xC6, 0x72,
0x12, 0xF3, 0x75, 0xDA, 0xD7, 0xD7, 0xE5, 0x02,
0x9E, 0xED, 0xDA, 0xDB, 0x4C, 0x47, 0xCE, 0x91,
0x06, 0x06, 0x6D, 0x55, 0x8B, 0x19, 0xC9, 0xEF,
0x8C, 0x80, 0x1A, 0x0E, 0xEE, 0x4B, 0xAB, 0xF2,
0x08, 0x5C, 0xE9, 0x37, 0x26, 0x5E, 0x9A, 0x90,
0x00, 0xF3, 0x0D, 0xB2, 0xA6, 0xA3, 0xF7, 0x26,
0x17, 0x48, 0x88, 0xC9, 0x0E, 0x2C, 0xC9, 0x02,
0xE7, 0x18, 0x05, 0x4B, 0xF3, 0x39, 0xE1, 0x20,
0x02, 0x0D, 0x40, 0xC7, 0xCA, 0xB9, 0x48, 0x30,
0x57, 0x67, 0xCC, 0x06, 0xBF, 0xAC, 0x81, 0x08,
0x24, 0x7A, 0xD4, 0x8B, 0x19, 0x8E, 0xAC, 0xB4,
0x5A, 0x0F, 0x73, 0x13, 0xAC, 0x9E, 0xDA, 0xB6,
0xB8, 0x96, 0x5B, 0x60, 0x88, 0xE1, 0x81, 0x3F,
0x07, 0x86, 0x37, 0x2D, 0x79, 0x14, 0x52, 0xEA,
0x73, 0xDF, 0x3D, 0x09, 0xC8, 0x25, 0x48, 0xD8,
0x75, 0x60, 0x9A, 0x08, 0x27, 0x4A, 0x2C, 0xB9,
0xA8, 0x8B, 0x8A, 0x73, 0x62, 0x37, 0x16, 0x02,
0xBD, 0xC1, 0x0E, 0x56, 0x54, 0x3E, 0x14, 0x5F,
0x8C, 0x8F, 0x6E, 0x75, 0x1C, 0x07, 0x39, 0x7B,
0x4B, 0xDB, 0xD3, 0x4B, 0x1E, 0xC8, 0x7E, 0xFE,
0x3E, 0x72, 0x16, 0x83, 0x7D, 0xEE, 0xF5, 0xCA,
0xC5, 0x18, 0xF9, 0xD8, 0x68, 0xAB, 0x38, 0x85,
0xA8, 0xF0, 0xA1, 0x73, 0x9F, 0x5D, 0x19, 0x0B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x33, 0x72, 0x39, 0x25, 0x67, 0x26, 0x6D, 0x71,
0x36, 0x77, 0x3C, 0x20, 0x62, 0x23, 0x68, 0x74,
0xC3, 0x82, 0xC9, 0x15, 0x57, 0x16, 0x5D, 0x81};
No, the idiots who wrote this law are dicks. You are shooting the messenger, when it should be the lawyers you have in your sights (just kidding, folks -- I think).
If the interpretation of 2b given before is correct (which I kind of doubt, given that it appears to be at odds with the intent of the law as described in 2a), then a new era of frivolous lawsuits is at hand. If I write a program which, say, allows one to use a filesystem on a hard disk (let's say I call it, oh, I dunno, mke2fs), to which one might one day write, say, pirated mp3s, then, according to the interpretation some are putting forth, I can be held liable for writing something which could facilitate piracy, even though my intent was otherwise. dd might be a better example, since it writes raw blocks irrespective of most digital copy protection schemes. Nevertheless, this kind of legislation -- if indeed intended as described before -- could well result in everything from mke2fs to dd to cp being illegal, because somewhere, someone might use it to circumvent copy protection and pirate something. Hell, writing an operating system could be illegal, as it certainly facilitates the operation of any software designed to run under it, including that which might be used to circumvent copy protection schemes. Never mind the Linus never intended Linux to be used for such, the fact that someone, somewhere, can misuse it for such neferious purposes makes him guilty by association! Sue Linus, sue Linus. Oh wait, then there's gcc, which was used to compile the evil software. Sue the FSF! Sue the FSF!
Absurd. I doubt any of this would hold up in court, but then again, IANAL and, given the illogic of our justice system to date, who knows?
The Future of Human Evolution: Autonomy
This is in reply to the first 5 people who've posted...
:)
The movie industry isn't forcing you to buy or use windows. You can purchase a DVD player for your TV and bypass the whole computer thing. It is a convienence that player-back software exists. It's made it to the Mac and Wintel so far, and will probably not come to Linux anytime soon.
For one, there's a huge installed base of both machines and OS's.
For two, there's no way of gauging the Linux installed base. Yeah, there have been so many downloads and so many purchases, but how many people use it on a daily basis, compared to the other two groups?
For three, all the mainstream press talks about Linux's use in the server arena. Servers don't need to play DVD movies. So, why would the movie industry want to create a player for a server?
Also for three, there players available for Solaris, *BSD, Openserver, Unixware, Netware, BeOS, Irix, AIX, or HP-UX? I'm guessing not. And for them to create a *nix port solely to serve this market would be a huge waste of resources given the potential returns.
(Still stuck on 3...) Rather than just running ahead and writing that program, was this brought up in a more political sense, such as letter-writing, email, phone calls, etc? I doubt it was, to any extent, maybe one or two here or there. Maybe some programmers could have done the movie-watching community a favor by signing a NDA, and created binaries for the said platforms, with the industries okay. Was that tried?
Four, you can do whatever you want with the disc itself. Burn it. Use it as a frisbee. microwave it. It's the IP on the disk (the movie) that you need to show some restraint about...
Now for five. DVD playback probably will take longer to make it to Linux than it would have before. Why? Because of this. More and more, I notice around here (not singling anyone out, so don't get down on me too hard) a mentality of "I don't want to pay for something if I can get the same thign for free" or "Who cares about intellectual property".
Those attitudes are not condusive to getting the industries okay on releasing spec's (and liablility for implementing a playback mechanism) for DVD. They can easily view those two statements as saying, "I'd rather watch a free pirated movie than acually buying the DVD, especially if they're the same exact movie... I'll even copy it for all my friends, too."
You really have to watch yourself when stepping around the giants of any industry... you may not realize that you've stepped on their toes until it's much too late.
All done for now.
Ok, someone breaks the encryption on DVD. Now the purchaser of this DVD disc can watch other things on the disc, big deal. If you don't want someone watching something without paying for it THEN DON'T PUT IT ON THE DAMN DISC! Personally I think the industry has gone way overboard. People pirate CDs and VHS and it hasn't hurt them, and niether will pirating DVD. By trying to sue the people who cracked DVD they are only enraging more people which in turn will have no qualms about pirating their works, myself included.
Hard disks are getting cheap, but still not the best meg-per-buck out there. Look into tape. If you're just gonna have a few tapes, go into QIC-based drives. If lots of tapes, go into DAT-based drives. DDS is currently somewhere around two dollars per gigabyte.
Besides, everyone who does anything important on their computer needs some kind of cheap removable media anyway, for backups.
OTOH, the original DVDs themselves are pretty good storage in themselves -- just don't scratch 'em.
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Bear with me a second:
CSS does nothing to prevent the outright copy of a disc. The keys survive copying procedures just fine.
CSS does, however, prevent interoperability with non-approved hardware.
Since reverse engineering for purposes of interoperability is a common and legal practice, and since interoperability could not be achieved outside of a procedure that rendered the colluding cartel's enforcement mechanisms ineffective, the breaking of the CSS encryption scheme is not necessarily a violation of copy protection law.
Yours Truly,
Dan Kaminsky
DoxPara Research
http://www.doxpara.com
css-descramble.h ---------------- #ifndef __css_descramble_h_ #define __css_descramble_h_ struct playkey { int offset; unsigned char key[5]; }; extern int css_decrypttitlekey(unsigned char *tkey, unsigned char *dkey, struct playkey **pkey); extern void css_descramble(unsigned char *sec,unsigned char *key); #endif css-descramble.c ---------------- /* * css_descramble.c * * Released under the version 2 of the GPL. * * Copyright 1999 Derek Fawcus * * This file contains functions to descramble CSS encrypted DVD content * */ /* * Still in progress: Remove the use of the bit_reverse[] table by recoding * the generation of LFSR1. Finish combining this with * the css authentication code. * */ #include #include #include "css-descramble.h" typedef unsigned char byte; /* * * some tables used for descrambling sectors and/or decrypting title keys * */ static byte csstab1[256]= { 0x33,0x73,0x3b,0x26,0x63,0x23,0x6b,0x76,0x3e,0x7e, 0x36,0x2b,0x6e,0x2e,0x66,0x7b, 0xd3,0x93,0xdb,0x06,0x43,0x03,0x4b,0x96,0xde,0x9e, 0xd6,0x0b,0x4e,0x0e,0x46,0x9b, 0x57,0x17,0x5f,0x82,0xc7,0x87,0xcf,0x12,0x5a,0x1a, 0x52,0x8f,0xca,0x8a,0xc2,0x1f, 0xd9,0x99,0xd1,0x00,0x49,0x09,0x41,0x90,0xd8,0x98, 0xd0,0x01,0x48,0x08,0x40,0x91, 0x3d,0x7d,0x35,0x24,0x6d,0x2d,0x65,0x74,0x3c,0x7c, 0x34,0x25,0x6c,0x2c,0x64,0x75, 0xdd,0x9d,0xd5,0x04,0x4d,0x0d,0x45,0x94,0xdc,0x9c, 0xd4,0x05,0x4c,0x0c,0x44,0x95, 0x59,0x19,0x51,0x80,0xc9,0x89,0xc1,0x10,0x58,0x18, 0x50,0x81,0xc8,0x88,0xc0,0x11, 0xd7,0x97,0xdf,0x02,0x47,0x07,0x4f,0x92,0xda,0x9a, 0xd2,0x0f,0x4a,0x0a,0x42,0x9f, 0x53,0x13,0x5b,0x86,0xc3,0x83,0xcb,0x16,0x5e,0x1e, 0x56,0x8b,0xce,0x8e,0xc6,0x1b, 0xb3,0xf3,0xbb,0xa6,0xe3,0xa3,0xeb,0xf6,0xbe,0xfe, 0xb6,0xab,0xee,0xae,0xe6,0xfb, 0x37,0x77,0x3f,0x22,0x67,0x27,0x6f,0x72,0x3a,0x7a, 0x32,0x2f,0x6a,0x2a,0x62,0x7f, 0xb9,0xf9,0xb1,0xa0,0xe9,0xa9,0xe1,0xf0,0xb8,0xf8, 0xb0,0xa1,0xe8,0xa8,0xe0,0xf1, 0x5d,0x1d,0x55,0x84,0xcd,0x8d,0xc5,0x14,0x5c,0x1c, 0x54,0x85,0xcc,0x8c,0xc4,0x15, 0xbd,0xfd,0xb5,0xa4,0xed,0xad,0xe5,0xf4,0xbc,0xfc, 0xb4,0xa5,0xec,0xac,0xe4,0xf5, 0x39,0x79,0x31,0x20,0x69,0x29,0x61,0x70,0x38,0x78, 0x30,0x21,0x68,0x28,0x60,0x71, 0xb7,0xf7,0xbf,0xa2,0xe7,0xa7,0xef,0xf2,0xba,0xfa, 0xb2,0xaf,0xea,0xaa,0xe2,0xff }; static byte lfsr1_bits0[256]= { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x09,0x08, 0x0b,0x0a,0x0d,0x0c,0x0f,0x0e, 0x12,0x13,0x10,0x11,0x16,0x17,0x14,0x15,0x1b,0x1a, 0x19,0x18,0x1f,0x1e,0x1d,0x1c, 0x24,0x25,0x26,0x27,0x20,0x21,0x22,0x23,0x2d,0x2c, 0x2f,0x2e,0x29,0x28,0x2b,0x2a, 0x36,0x37,0x34,0x35,0x32,0x33,0x30,0x31,0x3f,0x3e, 0x3d,0x3c,0x3b,0x3a,0x39,0x38, 0x49,0x48,0x4b,0x4a,0x4d,0x4c,0x4f,0x4e,0x40,0x41, 0x42,0x43,0x44,0x45,0x46,0x47, 0x5b,0x5a,0x59,0x58,0x5f,0x5e,0x5d,0x5c,0x52,0x53, 0x50,0x51,0x56,0x57,0x54,0x55, 0x6d,0x6c,0x6f,0x6e,0x69,0x68,0x6b,0x6a,0x64,0x65, 0x66,0x67,0x60,0x61,0x62,0x63, 0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x76,0x77, 0x74,0x75,0x72,0x73,0x70,0x71, 0x92,0x93,0x90,0x91,0x96,0x97,0x94,0x95,0x9b,0x9a, 0x99,0x98,0x9f,0x9e,0x9d,0x9c, 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x89,0x88, 0x8b,0x8a,0x8d,0x8c,0x8f,0x8e, 0xb6,0xb7,0xb4,0xb5,0xb2,0xb3,0xb0,0xb1,0xbf,0xbe, 0xbd,0xbc,0xbb,0xba,0xb9,0xb8, 0xa4,0xa5,0xa6,0xa7,0xa0,0xa1,0xa2,0xa3,0xad,0xac, 0xaf,0xae,0xa9,0xa8,0xab,0xaa, 0xdb,0xda,0xd9,0xd8,0xdf,0xde,0xdd,0xdc,0xd2,0xd3, 0xd0,0xd1,0xd6,0xd7,0xd4,0xd5, 0xc9,0xc8,0xcb,0xca,0xcd,0xcc,0xcf,0xce,0xc0,0xc1, 0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, 0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf6,0xf7, 0xf4,0xf5,0xf2,0xf3,0xf0,0xf1, 0xed,0xec,0xef,0xee,0xe9,0xe8,0xeb,0xea,0xe4,0xe5, 0xe6,0xe7,0xe0,0xe1,0xe2,0xe3 }; static byte lfsr1_bits1[512]= { 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff, 0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24, 0x49,0x6d,0x92,0xb6,0xdb,0xff }; /* Reverse the order of the bits within a byte. */ static byte bit_reverse[256]= { 0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90, 0x50,0xd0,0x30,0xb0,0x70,0xf0, 0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98, 0x58,0xd8,0x38,0xb8,0x78,0xf8, 0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94, 0x54,0xd4,0x34,0xb4,0x74,0xf4, 0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c, 0x5c,0xdc,0x3c,0xbc,0x7c,0xfc, 0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92, 0x52,0xd2,0x32,0xb2,0x72,0xf2, 0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a, 0x5a,0xda,0x3a,0xba,0x7a,0xfa, 0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96, 0x56,0xd6,0x36,0xb6,0x76,0xf6, 0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e, 0x5e,0xde,0x3e,0xbe,0x7e,0xfe, 0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91, 0x51,0xd1,0x31,0xb1,0x71,0xf1, 0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99, 0x59,0xd9,0x39,0xb9,0x79,0xf9, 0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95, 0x55,0xd5,0x35,0xb5,0x75,0xf5, 0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d, 0x5d,0xdd,0x3d,0xbd,0x7d,0xfd, 0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93, 0x53,0xd3,0x33,0xb3,0x73,0xf3, 0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b, 0x5b,0xdb,0x3b,0xbb,0x7b,0xfb, 0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97, 0x57,0xd7,0x37,0xb7,0x77,0xf7, 0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f, 0x5f,0xdf,0x3f,0xbf,0x7f,0xff }; /* * * this function is only used internally when decrypting title key * */ static void css_titlekey(byte *key, byte *im, byte invert) { unsigned int lfsr1_lo,lfsr1_hi,lfsr0,combined; byte o_lfsr0, o_lfsr1; byte k[5]; int i; lfsr1_lo = im[0] | 0x100; lfsr1_hi = im[1]; lfsr0 = ((im[4] >8)&0xff] >16)&0xff]>24)&0xff]; combined = 0; for (i = 0; i >1; lfsr1_lo = ((lfsr1_lo&1)>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>1 9);*/ o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7); lfsr0 = (lfsr0>>8)|(o_lfsr0>= 8; } key[4]=k[4]^csstab1[key[4]]^key[3]; key[3]=k[3]^csstab1[key[3]]^key[2]; key[2]=k[2]^csstab1[key[2]]^key[1]; key[1]=k[1]^csstab1[key[1]]^key[0]; key[0]=k[0]^csstab1[key[0]]^key[4]; key[4]=k[4]^csstab1[key[4]]^key[3]; key[3]=k[3]^csstab1[key[3]]^key[2]; key[2]=k[2]^csstab1[key[2]]^key[1]; key[1]=k[1]^csstab1[key[1]]^key[0]; key[0]=k[0]^csstab1[key[0]]; } /* * * this function decrypts a title key with the specified disk key * * tkey: the unobfuscated title key (XORed with BusKey) * dkey: the unobfuscated disk key (XORed with BusKey) * 2048 bytes in length (though only 5 bytes are needed, see below) * pkey: array of pointers to player keys and disk key offsets * * * use the result returned in tkey with css_descramble * */ int css_decrypttitlekey(byte *tkey, byte *dkey, struct playkey **pkey) { byte test[5], pretkey[5]; int i = 0; for (; *pkey; ++pkey, ++i) { memcpy(pretkey, dkey + (*pkey)->offset, 5); css_titlekey(pretkey, (*pkey)->key, 0); memcpy(test, dkey, 5); css_titlekey(test, pretkey, 0); if (memcmp(test, pretkey, 5) == 0) { fprintf(stderr, "Using Key %d\n", i+1); break; } } if (!*pkey) { fprintf(stderr, "Shit - Need Key %d\n", i+1); return 0; } css_titlekey(tkey, pretkey, 0xff); return 1; } /* * * this function does the actual descrambling * * sec: encrypted sector (2048 bytes) * key: decrypted title key obtained from css_decrypttitlekey * */ void css_descramble(byte *sec,byte *key) { unsigned int lfsr1_lo,lfsr1_hi,lfsr0,combined; unsigned char o_lfsr0, o_lfsr1; unsigned char *end = sec + 0x800; #define SALTED(i) (key[i] ^ sec[0x54 + (i)]) lfsr1_lo = SALTED(0) | 0x100; lfsr1_hi = SALTED(1); lfsr0 = ((SALTED(4) >8)&0xff] >16)&0xff]>24)&0xff]; sec+=0x80; combined = 0; while (sec != end) { o_lfsr1 = lfsr1_bits0[lfsr1_hi] ^ lfsr1_bits1[lfsr1_lo]; lfsr1_hi = lfsr1_lo>>1; lfsr1_lo = ((lfsr1_lo&1)>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>1 9);*/ o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7); lfsr0 = (lfsr0>>8)|(o_lfsr0>= 8; } }
css-descramble.h
, 0x36,0x2b,0x6e,0x2e,0x66,0x7b, , 0xd6,0x0b,0x4e,0x0e,0x46,0x9b, , 0x52,0x8f,0xca,0x8a,0xc2,0x1f, , 0xd0,0x01,0x48,0x08,0x40,0x91, , 0x34,0x25,0x6c,0x2c,0x64,0x75, , 0xd4,0x05,0x4c,0x0c,0x44,0x95, , 0x50,0x81,0xc8,0x88,0xc0,0x11, , 0xd2,0x0f,0x4a,0x0a,0x42,0x9f, , 0x56,0x8b,0xce,0x8e,0xc6,0x1b, , 0xb6,0xab,0xee,0xae,0xe6,0xfb, , 0x32,0x2f,0x6a,0x2a,0x62,0x7f, , 0xb0,0xa1,0xe8,0xa8,0xe0,0xf1, , 0x54,0x85,0xcc,0x8c,0xc4,0x15, , 0xb4,0xa5,0xec,0xac,0xe4,0xf5, , 0x30,0x21,0x68,0x28,0x60,0x71, , 0xb2,0xaf,0xea,0xaa,0xe2,0xff
, 0x0b,0x0a,0x0d,0x0c,0x0f,0x0e, , 0x19,0x18,0x1f,0x1e,0x1d,0x1c, , 0x2f,0x2e,0x29,0x28,0x2b,0x2a, , 0x3d,0x3c,0x3b,0x3a,0x39,0x38, , 0x42,0x43,0x44,0x45,0x46,0x47, , 0x50,0x51,0x56,0x57,0x54,0x55, , 0x66,0x67,0x60,0x61,0x62,0x63, , 0x74,0x75,0x72,0x73,0x70,0x71, , 0x99,0x98,0x9f,0x9e,0x9d,0x9c, , 0x8b,0x8a,0x8d,0x8c,0x8f,0x8e, , 0xbd,0xbc,0xbb,0xba,0xb9,0xb8, , 0xaf,0xae,0xa9,0xa8,0xab,0xaa, , 0xd0,0xd1,0xd6,0xd7,0xd4,0xd5, , 0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, , 0xf4,0xf5,0xf2,0xf3,0xf0,0xf1, , 0xe6,0xe7,0xe0,0xe1,0xe2,0xe3
, 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff
, 0x50,0xd0,0x30,0xb0,0x70,0xf0, , 0x58,0xd8,0x38,0xb8,0x78,0xf8, , 0x54,0xd4,0x34,0xb4,0x74,0xf4, , 0x5c,0xdc,0x3c,0xbc,0x7c,0xfc, , 0x52,0xd2,0x32,0xb2,0x72,0xf2, , 0x5a,0xda,0x3a,0xba,0x7a,0xfa, , 0x56,0xd6,0x36,0xb6,0x76,0xf6, , 0x5e,0xde,0x3e,0xbe,0x7e,0xfe, , 0x51,0xd1,0x31,0xb1,0x71,0xf1, , 0x59,0xd9,0x39,0xb9,0x79,0xf9, , 0x55,0xd5,0x35,0xb5,0x75,0xf5, , 0x5d,0xdd,0x3d,0xbd,0x7d,0xfd, , 0x53,0xd3,0x33,0xb3,0x73,0xf3, , 0x5b,0xdb,0x3b,0xbb,0x7b,0xfb, , 0x57,0xd7,0x37,0xb7,0x77,0xf7, , 0x5f,0xdf,0x3f,0xbf,0x7f,0xff
1 9);*/ ;
1 9);*/ ;
----------------
#ifndef __css_descramble_h_
#define __css_descramble_h_
struct playkey {
int offset;
unsigned char key[5];
};
extern int css_decrypttitlekey(unsigned char *tkey, unsigned char *dkey, struct playkey **pkey);
extern void css_descramble(unsigned char *sec,unsigned char *key);
#endif
css-descramble.c
----------------
/*
* css_descramble.c
*
* Released under the version 2 of the GPL.
*
* Copyright 1999 Derek Fawcus
*
* This file contains functions to descramble CSS encrypted DVD content
*
*/
/*
* Still in progress: Remove the use of the bit_reverse[] table by recoding
* the generation of LFSR1. Finish combining this with
* the css authentication code.
*
*/
#include
#include
#include "css-descramble.h"
typedef unsigned char byte;
/*
*
* some tables used for descrambling sectors and/or decrypting title keys
*
*/
static byte csstab1[256]=
{
0x33,0x73,0x3b,0x26,0x63,0x23,0x6b,0x76,0x3e,0x7e
0xd3,0x93,0xdb,0x06,0x43,0x03,0x4b,0x96,0xde,0x9e
0x57,0x17,0x5f,0x82,0xc7,0x87,0xcf,0x12,0x5a,0x1a
0xd9,0x99,0xd1,0x00,0x49,0x09,0x41,0x90,0xd8,0x98
0x3d,0x7d,0x35,0x24,0x6d,0x2d,0x65,0x74,0x3c,0x7c
0xdd,0x9d,0xd5,0x04,0x4d,0x0d,0x45,0x94,0xdc,0x9c
0x59,0x19,0x51,0x80,0xc9,0x89,0xc1,0x10,0x58,0x18
0xd7,0x97,0xdf,0x02,0x47,0x07,0x4f,0x92,0xda,0x9a
0x53,0x13,0x5b,0x86,0xc3,0x83,0xcb,0x16,0x5e,0x1e
0xb3,0xf3,0xbb,0xa6,0xe3,0xa3,0xeb,0xf6,0xbe,0xfe
0x37,0x77,0x3f,0x22,0x67,0x27,0x6f,0x72,0x3a,0x7a
0xb9,0xf9,0xb1,0xa0,0xe9,0xa9,0xe1,0xf0,0xb8,0xf8
0x5d,0x1d,0x55,0x84,0xcd,0x8d,0xc5,0x14,0x5c,0x1c
0xbd,0xfd,0xb5,0xa4,0xed,0xad,0xe5,0xf4,0xbc,0xfc
0x39,0x79,0x31,0x20,0x69,0x29,0x61,0x70,0x38,0x78
0xb7,0xf7,0xbf,0xa2,0xe7,0xa7,0xef,0xf2,0xba,0xfa
};
static byte lfsr1_bits0[256]=
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x09,0x08
0x12,0x13,0x10,0x11,0x16,0x17,0x14,0x15,0x1b,0x1a
0x24,0x25,0x26,0x27,0x20,0x21,0x22,0x23,0x2d,0x2c
0x36,0x37,0x34,0x35,0x32,0x33,0x30,0x31,0x3f,0x3e
0x49,0x48,0x4b,0x4a,0x4d,0x4c,0x4f,0x4e,0x40,0x41
0x5b,0x5a,0x59,0x58,0x5f,0x5e,0x5d,0x5c,0x52,0x53
0x6d,0x6c,0x6f,0x6e,0x69,0x68,0x6b,0x6a,0x64,0x65
0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x76,0x77
0x92,0x93,0x90,0x91,0x96,0x97,0x94,0x95,0x9b,0x9a
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x89,0x88
0xb6,0xb7,0xb4,0xb5,0xb2,0xb3,0xb0,0xb1,0xbf,0xbe
0xa4,0xa5,0xa6,0xa7,0xa0,0xa1,0xa2,0xa3,0xad,0xac
0xdb,0xda,0xd9,0xd8,0xdf,0xde,0xdd,0xdc,0xd2,0xd3
0xc9,0xc8,0xcb,0xca,0xcd,0xcc,0xcf,0xce,0xc0,0xc1
0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf6,0xf7
0xed,0xec,0xef,0xee,0xe9,0xe8,0xeb,0xea,0xe4,0xe5
};
static byte lfsr1_bits1[512]=
{
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
};
/* Reverse the order of the bits within a byte.
*/
static byte bit_reverse[256]=
{
0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90
0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98
0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94
0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c
0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92
0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a
0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96
0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e
0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91
0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99
0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95
0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d
0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93
0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b
0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97
0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f
};
/*
*
* this function is only used internally when decrypting title key
*
*/
static void css_titlekey(byte *key, byte *im, byte invert)
{
unsigned int lfsr1_lo,lfsr1_hi,lfsr0,combined;
byte o_lfsr0, o_lfsr1;
byte k[5];
int i;
lfsr1_lo = im[0] | 0x100;
lfsr1_hi = im[1];
lfsr0 = ((im[4] >8)&0xff] >16)&0xff]>24)&0xff];
combined = 0;
for (i = 0; i >1;
lfsr1_lo = ((lfsr1_lo&1)>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>
o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7)
lfsr0 = (lfsr0>>8)|(o_lfsr0>= 8;
}
key[4]=k[4]^csstab1[key[4]]^key[3];
key[3]=k[3]^csstab1[key[3]]^key[2];
key[2]=k[2]^csstab1[key[2]]^key[1];
key[1]=k[1]^csstab1[key[1]]^key[0];
key[0]=k[0]^csstab1[key[0]]^key[4];
key[4]=k[4]^csstab1[key[4]]^key[3];
key[3]=k[3]^csstab1[key[3]]^key[2];
key[2]=k[2]^csstab1[key[2]]^key[1];
key[1]=k[1]^csstab1[key[1]]^key[0];
key[0]=k[0]^csstab1[key[0]];
}
/*
*
* this function decrypts a title key with the specified disk key
*
* tkey: the unobfuscated title key (XORed with BusKey)
* dkey: the unobfuscated disk key (XORed with BusKey)
* 2048 bytes in length (though only 5 bytes are needed, see below)
* pkey: array of pointers to player keys and disk key offsets
*
*
* use the result returned in tkey with css_descramble
*
*/
int css_decrypttitlekey(byte *tkey, byte *dkey, struct playkey **pkey)
{
byte test[5], pretkey[5];
int i = 0;
for (; *pkey; ++pkey, ++i) {
memcpy(pretkey, dkey + (*pkey)->offset, 5);
css_titlekey(pretkey, (*pkey)->key, 0);
memcpy(test, dkey, 5);
css_titlekey(test, pretkey, 0);
if (memcmp(test, pretkey, 5) == 0) {
fprintf(stderr, "Using Key %d\n", i+1);
break;
}
}
if (!*pkey) {
fprintf(stderr, "Shit - Need Key %d\n", i+1);
return 0;
}
css_titlekey(tkey, pretkey, 0xff);
return 1;
}
/*
*
* this function does the actual descrambling
*
* sec: encrypted sector (2048 bytes)
* key: decrypted title key obtained from css_decrypttitlekey
*
*/
void css_descramble(byte *sec,byte *key)
{
unsigned int lfsr1_lo,lfsr1_hi,lfsr0,combined;
unsigned char o_lfsr0, o_lfsr1;
unsigned char *end = sec + 0x800;
#define SALTED(i) (key[i] ^ sec[0x54 + (i)])
lfsr1_lo = SALTED(0) | 0x100;
lfsr1_hi = SALTED(1);
lfsr0 = ((SALTED(4) >8)&0xff] >16)&0xff]>24)&0xff];
sec+=0x80;
combined = 0;
while (sec != end) {
o_lfsr1 = lfsr1_bits0[lfsr1_hi] ^ lfsr1_bits1[lfsr1_lo];
lfsr1_hi = lfsr1_lo>>1;
lfsr1_lo = ((lfsr1_lo&1)>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>
o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7)
lfsr0 = (lfsr0>>8)|(o_lfsr0>= 8;
}
}
Past: First let me note. Pirates had already solved their problems with DVD. I have seen several pirated DVDs in the last monthes. So it is stupid to consider that this program has given some breakout in this field.
Present: The fact that such program is probably breaking the law gives several serious doubts. First there is a problem that reverse engineering is defended by the law of several countries, in cases when there are compatibility problems or needs to integrate new third-party features. Law only goes against such crack tools when authors suffer "significant material damage". Real one, well counted bucks. Not the abstract problem of how "dangerous" can be deCSS.
Future: DVD will end the same way CD ended. When CDs started, such guys as Sony claimed it to be a blow against piracy. As we see now piracy got a Hell of money exactly due to CDs. The fact is that DVDs, just as CDs, are a mean to spread information openly and massively. It is a practical nonsense to try to restrict the distribution of such stuff by means meant to be individual and private.
However the problem does not end just here. Right now the producers of information for mass consumption entered a field that may overturn our values of today. Those same supposedely defended by our dear capitalism.
You buy a DVD. Do you possess it? Or are you renting it for a "one time fee"? And what are your rights on having a rented piece of information? Can you borrow it, sell it? Can you manipulate it? Can you destroy it?
I don't want to go in details here. But if anyone analyses the problem DVDs and other media present today, then one will note that we are facing not a problem of "capitalist" ownership. In fact what we are facing is an attempt to feudalise the ownership of media. You have no right to own information. You cannot use it above a restricted set of permissions. You become an servant (hostage) of the information lords.
Once upon a time there was a tool called nttune available by some entrepreneurial (sp?) people who figured out you could turn NT Workstation into NT Server at the switch of a Registry key (so long as you trapped some code that noticed the change at the same time). This code with source was made freely available.
Naturally Microsoft's lawyers didn't like this too much - so they made cease and decist calls on everyone who had this code on their web sites. They didn't stop there - they pressured every mirror on web sites and ftp servers to remove the code. It was like a witch hunt. And they found all instances of nttune. I while later it was impossible to find through either archie or web search engines. All that remained were 404's.
So I wonder if the same will happen here. It seems doubtful. Slashdot appears to be creating more mirrors than any army of lawyers could ever get their hands on. Time will tell.
Matt. Want XML + Apache + Stylesheets? Get AxKit.
You're not entirely right on that. Trade secrecy protection is only invalidated when a company doesn't make a reasonable effort to protect their secret. The dvd consortium did as much as they could to to protect it through NDAs and requiring the keys to be encrypted. The fact that Xing violated that NDA does not change anything. The consortium had made every effort to make sure it was kept secret short of auditing every version of every player, so CSS should still be covered by trade secrecy (assuming it could be applied to begin with). That's how I understand it anyway.
I'm sure the homeless people will have TONS of uses for a DVD too you clueless luser.
If digital media formats want to keep this from happening, they're going to have to learn that copy protection shouldn't also mean read protection. For any kind of standard to take hold and be held to, it has to be implemented as universally as possible, otherwise those left out are going to get it to work one way or another, be it a different standard that they have no control over, or a perversion of the first.
I suspect what Nick has written is exactly what Derek's lawyers told him in the UK -- back down, and quick. But what would happen to somebody in the similar position in the US, eg as regards either (a) publishing the analysis of CSS, (b) writing the code, (c) hosting the CVS server, (d) co-ordinating the overall effort, or (e) including player in a linux distro ? The relevant law appears to be 17 USC ch.12 sec.1201, but unfortunately this is not currently up on the Cornell LII site. Section 1201 is set to be amended by HR 2281, the Digital Millennium Copyright Act. I'm not sure what the current status of this act is, and whether or not it has or will be signed into law by the president. The key relevant provision under the new law would appear to be (a)(2): (2) No person shall manufacture, import, offer to the public, provide, or otherwise traffic in any technology, product, service, device, component, or part thereof, that-- `(A) is primarily designed or produced for the purpose of circumventing a technological measure that effectively controls access to a work protected under this title; `(B) has only limited commercially significant purpose or use other than to circumvent a technological measure that effectively controls access to a work protected under this title; or `(C) is marketed by that person or another acting in concert with that person with that person's knowledge for use in circumventing a technological measure that effectively controls access to a work protected under this title. and section (b)(1), in which 'controls access' is relaced with 'protects a right of a copyright owner' Some questions: What does 'provide technology' mean ? Does software code count as technology ? What about technical descriptions of CSS ? Do people still have a first amendment right to discuss CSS and write not-for-profit de-CSS code ? According to subsection (c)(4) below: `(4) Nothing in this section shall enlarge or diminish any rights of free speech or the press for activities using consumer electronics, telecommunications, or computing products. Does a commercial ISP who allows such code to be published on their server trafficking in a service ? Or do they count as a free press ? Does a linux distro which includes a DVD player allowing a disc to be viewed on screen circumvent a technological measure that effectively controls access to a work protected under this title (ignoring any patent issues) ? Would it make any difference if the code was binary only ? And finally, haven't these lawyers ever heard of writing laws for easy maintenance and reliability ?? The control flow in (a)(1) has to be worse than anything I've seen in a Perl program! But I wonder, do you think we could get the Librarian of Congress to declare an exception under (a)(1), regarding the current poor availability for use of copyright works under Linux, to allow the situation to be improved ?
There are far more cryptologists working on and testing Open Source crypto tech than there are in the entire film industry
That may be true, but it's not relevent to the case on hand. Yes, Open Source, with its many eyes, will often make better crypto algorithims but it's not the algorithim that's relevent here, it's the encryption keys.
What use is a file encrpyted with 3DES if the keys are supplied in the open with it? It's irrelevent how strong the encrpytion is that you use, if you have the keys. Remember that the DVD player by necessity, must have all the information required to decrypt the data. That includes the necessary keys, and thus, if it's open source, all the keys are viewable, and the encryption worthless.
It's about the only situation where open source can never work.
--
Exigo spamos et dona ferentes
While i don't understand why the movie industry insists on this, I do understand that it's their right to determine proper usage, because they paid for it's creation and hence, it's their property.
But there in lies the rub. It is not clear that there is indeed a human right to control what happens to content after it is produced. In particular, no freedom of the producer seems restricted by people copying the work, and disallowing copying certainly is a restriction of the consumer's freedom.
Rather, defences of intellectual property seems to boil down to ecconomic arguments. There, I think RMS's argument is very relevant - copyright should be seen as a contract between the public and the producer, and the very fact that the people wants to create copies demonstrates that the contract should be rewritten!
In the end, I think the DVD in particular and media-industry in general shows a clear crisis of democracy in western countries, especially the US. A small group of rich capitalist, through their lobbying groups, have the control over these issues - not the voters. Consequently, they are able enrich themselves at the expense of people in general. And they are able to use the institutions of the state (police and courts) against those who oppose them!
There can be no doubt that this is the most awful, repressive, undemocratic law one could possibly imagine (and yes, I do realize the scope of that statement). I get bouts of serious vertigo just by the thought that this sort of shit goes on in a society that then turns the other way and claims that it is free.
At which point is self censorship manditory anyways? Is ok to think about the problem, but not to talk about ones thoughts, or maybe they shouldn't have thought about it in the first place? Maybe we should state that more clearly, how about something like:
"The large copororation who abuses its legal monopoly over the permutations of one and zeros to which it lays claim has the absolute right to legally attack and extract, for what they are worth, large sums of money from anybody thinking about, or considered intelligent enough to be a threat if thinking about, getting around their faulty, futile, schemes for preventing those particular permutations from appearing elsewhere in the universe."
The gist of the law is that you are not ALLOWED to outsmart people, no matter how stupid they are. By this the DVD people could have used a ROT13 encoding and then attacked any Linux player that had "cracked" that. So I guess instead of protecting the weak from the strong, we are now protecting the stupid from the smart. And using violence to enforce it. What a great day for our society.
-
We cannot reason ourselves out of our basic irrationality. All we can do is learn the art of being irrational in a reasonable way.
But what would happen to somebody in the similar position in the US, eg as regards either (a) publishing the analysis of CSS, (b) writing the code, (c) hosting the CVS server, (d) co-ordinating the overall effort, or (e) including player in a linux distro ?
The relevant law appears to be 17 USC ch.12 sec.1201, but unfortunately this is not currently up on the Cornell LII site.
Section 1201 is set to be amended by HR 2281, the Digital Millennium Copyright Act. I'm not sure what the current status of this act is, and whether or not it has or will be signed into law by the president. The key relevant provision under the new law would appear to be (a)(2):
and section (b)(1), in which 'controls access' is relaced with 'protects a right of a copyright owner'Some questions:
But mke2fs does not defeat anyone's copy protection, from what I've read css-auth does. This is where it differs from the plethora of examples being cited in this thread. His software actually defeats the copy protection.
-Rich
dont just run this. Get the source and LOOK IT OVER FIRST! Not to say that the AC is a bad guy or anything...you just can never be sure. I looked at some other sites and some are tar.gz and others are .ZIP's. And the all are diffrent file sizes. And it goes with out saying that running unknown stuff as root is a bad idea.
I have to return some videotapes...
Repost is below, properly formatted.
...when it should be the lawyers you have in your sights...
Last I checked, lawyers merely study and use existing law - they don't make the laws themselves. The ones who should be in your metaphorical sights are the legislators. Not that they're creative enough to craft the sort of insanity we're discussing here; rather, they accept the influence of corporate lobbyists.
I refuse to vote for any candidate who has accepted contributions from anyone other than non-corporate constituents. So far, I haven't been able to vote...
I believe that the prohibition on circumventing copy protection will eventually be found unconstitutional.
However, there appears to be a lot of confusion as to what legal ground we are standing on, and I'd like to start a discussion to shake that out. What legal principles make the creation, distribution, and use of DVD decryption programs legal, and under what circumstances.
Some ideas from a non-lawyer (meself):
First off, programs such as DeCSS and livid cannot be created or distributed for the purpose of unauthorized duplication of copyrighted works. Regardless of what you think about copyright law, and freedom, no court is ever going to sign off on the use of DVD decryption programs for this purpose; it's a counterproductive and losing argument.
However, there are certain legal uses of copyrighted material which become impossible without the utilization of DVD decryption programs.
Let's try this:
DVD decryption and viewing programs are created and distributed to facilitate legal, fair use of copyrighted material, and for the private, legal display of copyrighted material.
FAIR USE:
Section 107 of the United States Copyright Code specifically recognizes the right to extract sections of copyrighted materials for such purposes as criticism, comment, and news reporting.
DVD decryption programs are, by definition, the only method available to the public of accessing a true, accurate, undegraded copy of copyrighted material distributed in the DVD format, for the purposes of legal manipulation of this material for protected free speech activity, including fair use.
In addition, Section 108 of the U.S. Copyright code permits libraries and archives to reproduce copyrighted works in their entirety, for certain purposes. DVD decryption programs are the only method of making a true and accurate copy of such material for this legal purpose.
These rights are recognized in the Digital Millennium Copyright Act, which contains the following language, with regards to the unauthorized circumvention of copy protection:
OTHER RIGHTS, ETC., NOT AFFECTED: Nothing in this section shall affect rights, remedies, limitations, or defenses to copyright infringement, including fair use, under this title.
Nothing in this section shall enlarge or diminish any rights of free speech or the press for activities using consumer electronics, telecommunications, or computing products.
Therefore, the creation, distribution, and use of DVD decryption software for these legal purposes should, in theory, still be legal.
PRIVATE DISPLAY:
The legal owner of a physical copy of a copyrighted work has the right to view their copy.
DVD decryption programs are distributed for the purpose of legal, private viewing of DVD programming.
COMPUTER SOFTWARE:
Section 117 of copyright law:
... it is not an infringement for the owner of a copy of a computer program to make or authorize the making of another copy or adaptation of that computer program provided:
(1) that such a new copy or adaptation is created as an essential step in the utilization of the computer program in conjunction with a machine, and that it used in no other manner, or
(2) that such new copy or adaptation is for archival purposes only and that such archival copies are destroyed in the event that continued possession of the computer program should cease to be rightful.
The contents of a DVD disk consist entirely of computer instructions and data, and therefore should be considered as a computer program for this purpose.
In short, the acquisition and use of a DVD decryption tool is the sole existing method for persons to exercise their rights under copyright law to make a legal backup copy of their DVD software, and to exercise their right to use it in certain computer environments.
Comments?
Any way you try to dance around it, guns are for hurting. and don't start saying that you use them for target shooting.
Sure, they're for hurting. But you seem to think that's automatically a Bad Thing. If there's a thug who wants my money/stereo/life, you bet I'll want to hurt that person until they stop. And having the right tools for the job always helps.
For the dual purposes of (a) self-defence, which is ultimately my responsibility and (b) a last resort in the face of encroaching tyranny (not something I think we're currently in danger of, hyperbole from Left and Right notwithstanding), I'll take a firearm over a knife or judo class any damn time of day.
bulls**t....use a pellet gun or something. same idea, but you can't kill people with it too.
If you can't kill someone with a pellet gun, you're not trying hard enough. Oodles of injuries a year from pellet guns, some quite serious. And of course, the sturdier ones make for dandy clubs.
Look, coaxial cable can be used to strangle somebody, but nobody's trying to ban possession of coax.
Well, because someone's going to bring up the exclusive-use thing ("But a gun's only purpose is to kill/hurt! Waah!"), I'll extend the analogy to cover that:
Just because coax cable can be used to download criminal data of all stripes, from the fairly innocuous pr0n/warez to the more sinister child porn, doesn't make coax cable Evil. Just as there are Rights and Wrongs in data transmission, there are Rights and Wrongs in hurting, and yes, killing. Guns are a tool. Hate what's built with them if it's evil, but focusing on the tool is misleading and ultimately futile.
gomi
Ah, but it does facilitate the circumvention of copy protection, by providing a place where the pirated data may reside. Worse, the compiler (gcc) and the underlying OS (Linux or FreeBSD) actually enables the software which circumvents the copy protection to run!
The interpretation of the law which excludes intent from consideration opens a pandora's box of absurd consequences. As another person noted, every DVD player on the market circumvents copy protection (they have to, in oder to playback the DVDs), so any advertisment for a DVD drive would violate this law as interpreted. Any compiler, operating system, library (e.g. glibc), filesystem, linker, or any other piece of software even remotely assisting in bypassing any copy protection of any kind, would also run afoul of this law (as interpreted before), as they are (1) facilitating the bypassing of copy protection and (2) have been published, either as source code or executable binary.
The Future of Human Evolution: Autonomy
i mean c'mon there is no technology (that i am aware of ) that can make a "exact" duplicate of the "actual film " we all know dvd is not a lossless format and the quality is not up to par of actual film. they should really focus more on other things...
....(not knocking pulp btw)
i belive that the media industry wants to be the sole organization of purchasing media content .
it seems when ever a new format is relesed
dolby b, c, noise reduction type III tape vcr, dat, mini disc , cdr and now dvd they have a fit about these formats acting as a means to distrubte illegal version of the originals.
the media industry really wants to charge for duplicates they probably think you should pay a fee for each duplicate of the orginal you own .
even though this duplicate is inferior in some aspect or another ie... a cd may be duplicated perfectly but will not have the actual cd art and jewl case pampletes as the orginal did.
i think that if the media industry could get away with it they would just ship a plain cd in a cheap plastic cover. and charge 25 - 50 dollars for it .
the media industry should be more concerned of staying ahead of "consumer" technology than preventing it
we have had the same formats for over 10 - 30 years and now consumer tech is starting to catch up . and what has the media industry done???
they have done nothing . the biggest leap in movie tech (my recent memory) has been dss thx and dolby 5.1 ac and bigger movie screens
biggest leap in music has been the cd . or maybe q sound (see what i mean)
not really a giant leap from what we had 15 years ago. the media industry needs to get off its @ss
and start inovating or they will soon be regarded to the same status as pulpfiction novels
Music the Paint dancefloor the canvas your body the brush
Better yet, email it to the recently disclosed SONY mail list. Empower the people by spamming everybody with source code.
The street finds it's own use for things...
http://www.d.umn.edu/~dchan/css/
these files are not authorized by the university
of minnesota, duluth or by the state of minnesota.
i accept full responsibility for the hosting of
these files.
i downloaded these from several mirrors and compared
sizes and md5sums just in case someone was trying to
pull something. here are the md5sums that i derived.
be sure to check these against others, just in case.
b815dfc23185d44ba327319030cd6237 *css-auth.tar.gz
549f4fe6488d6eec4f66b7c7c1a4db9d *cssdvd.zip
d0aff684327a5c7bf110951e42ec3cae *decss.zip
-- adraken
Try this link.
Does your law have a problem with printing presses or Xerox machines which can reproduce copywrited books? I'm I going to be sued for telling you that you could stand next to a copy machine and copy any book?
What if I Xerox my DVD?
Censorship always fails.
Friends don't help friends install M$ junk.
My opinion would not change. HOWEVER, this is totally in the realm of theory. If MS ever did anything like this, I would be especially wary of their intent (duh). But, say for the sake of pure argument, MS actually intented to do something right and reverse engineer the Xing decoder and release their own under the GPL, I would support that move 100%. I fail to see how it matters who did something. The fact of the matter is it was done, and released under terms I find acceptable. End of story.
Everyone who has a direct part in this whole episode is a complete, total, blithering idiot.
The motion picture was idiotic because... well... they're idiots. A bunch of profiteering, paranoid gluttons who don't yet get that they're in no danger whatsoever.
The DeCSS group was idiotic by including code to copy the movie into their software. Granted, it's Open-Source so anyone could modify it to make copies, but it's a symbolic thing. There's no need to copy the movie to a hard drive unless your machine is too slow to play back a DVD in software (in which case the money you spent on a DVD drive would have been better spent on upgrades anyway). If you've got hardware (which we also need drivers for) then there's no problem anyway. Was DeCSS trying to piss off the industry?
That said, I downloaded the software, and even though I don't have a DVD drive I intend to keep the code, and probably mirror it for a while.
It's not just signing an NDA - it's big bucks. In the many thousands of dollars (See www.dvdforum.org - $5k for the specs, $10k for the license, I think) For your average linux hacker, official access to the specs isn't possible, and it would disallow source distribution. Now, I'm not saying that if you can't afford it, that you should steal it. I don't know the legalities involved with reverse engineering the format, but I don't think that it constitutes theft. Distributing copyrighted works clearly does, but deciphering an algorithm is a bit more murky.
I think that most people involved in this debate are not arguing that we should abolish intellectual property. Most people agree that the movies are copyrighted works, and should be protected as such. Most people also fail to see how reverse-engineering the format so that legally acquired DVDs can be watched on the platform of choice is a criminal act.
Right here.
Yet you need other countries who are apparently a bit more free in their other restrictions... *confused look*
Open Source. Closed Minds. We are Slashdot.
Here in the US we have a _written_ promise of free speech. Our Constitution claims that everyone else has it as well, so you can't say that the UKers don't.
Anyhow, is anyone in the US interested in posting this encryption program on the web? I'm in the US, but I don't really want to spend a few years in jail for exporting munitions.
But we do have free speech, really. Just as long as you don't speak in a way that disturbs politics as usual.
-Billy (hmph)
Got HTML? Want LaTeX? Try html2latex
Alas, it was a UK law being used against a UK citizen in (AFAIK) the UK...
... can anyone else confirm that these draconian restrictions kick in Jan 1?
The Y2K bug we let sneak up on us (despite warnings here and elsewhere when the law was passed) is that something very similar takes effect in just under two months here in the US, I believe. With any luck maybe we can get a good css-auth library put together and exported to a friendly place before then, then just write great apps that link against that library for css authentication and decryption.
IANAL
The Future of Human Evolution: Autonomy
here
-----
Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
OK. So. Lemme try to phrase this properly without rehashing 100's of other comment posts...
Truthfully, this legal action affects this community in a much more personnel way than it does the rest of the world. Everyone else already has their DVD players (settop and otherwise), and are happy with them. The ones that are upset are those who want one for Linux, and this segment is definitely the minority of DVD users.
There are hundreds of legally licensed companies who provide DVD equipment/software. As such, there is not a monopoly on the resources needed to use DVD's. The consummer benefits from healthy competition, in lower costs and research into new technology.
Now, a minority is upset because they could not have it Their Way. In the efforts to get What We Want, the dvd security system has been cracked, and the media is now open to pirating. This could negatively effect the DVD system.
Is this not also greed?
If the situation in question *prevented* this minority from receiving the benefits of DVD technology I would agree with you. But it does not.
The horse may be out of the barn, but in this case the law does try to protect the 100's of providers of DVD technology who have invested time and money to produce technology to benefit their customers.
"You want to kiss the sky? Better learn how to kneel." - U2
"It was like trying to herd cats..." - Robert A. Heinlein
Sig:
Barbeque is a noun. Not a verb.
Yes, when you're in college you have no legal rights. Even with the free legal counsel most colleges give, it would be no contest to the kind of money the film industry can through at the best lawyers. Why is it that people with big bucks and mega lawyers aren't the ones cracking computer codes?
> DVD playback probably will take longer to make it to Linux than it would have before. Why? Because of this.
"Because of this" there *will* be a linux player. You went on and on about why the industry would never want to port to linux, and yet you still think the industry has to give us the player.
I'm still waiting for 3Com to offer a linux Desktop. Not that I need theres... I've got one!
Here's an analogy: a kid asks his father for some money, and his father says no. So the kid goes and gets a job that the father doesn't like. So now his father REALLY won't give him any money. So what?
The whole point is that (whether you like it or not) some people felt a desire to have a linux-based DVD player . Industry ignored them for all the reasons you mentioned, and now we will not only have a linux-based player, but one that can also be used for piracy...
-- Don't Tase me, bro!
Well, the moneys a moot point. Surely, if enough users wrote in, Redhat could use some of it's billion dollar net worth to aquire all the needed licenses and programmers in order to create a binary that allowed the playback of DVD movies on Linux.
As for the movie industry dictating what platform you can play back on. I think they can. They can say that they want to feel reasonably sure that the products that play their movies do just that and nothing else. It would be concievable for them to be especially opposed to open-source playback software, for the reason once that's completed, it'd probably be trivial to redirect it's output from the TV to the hard drive...
By charging $5K / $10Kfor the specs (which is really pocketchange to most companies that would want to pursue this) they can feel assured that Joe Cracker wouldn't spend the $5000 and then post them on the internet.
In all honesty, if all you want to do is WATCH THE MOVIE WHILE RUNNING LINUX, why would it matter if it was a freely obtainable, freely distributable binary as opposed to an opensource one that was allowing the viewing of the movie? That'd probably appease a lot of people out there, and everybody (except RMS) wins...
It's only really a library everyone needs, isn't it? And once it's done, there's no real point to enhancing it, because it's not going to make more frames in the movie or anything like that... And other people could write their own interfaces and controllers.
I vote we ask Redhat for the financial help. They've got the clout to do it.
HERE is the correct one!
Sorry about that.
See this comment for the address to get it
Say no to software patents.
there is a growing list of mirrors here, and I even put up a mirror here.
I'm living.... somewhere (not in the US) but the server is in the US. What will they do? This is starting to become civil disobedience me thinks.
-----
Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
Even if they did make a player for linux, it would definately be proprietary (closed-source) which is bad. And what about people using other free (or non free) OS'es? Source can be easily compiled on any variety of OS'es with minor or no modifications. AFAIK, a company porting their commercial software to linux (ie netscape) is not a victory at all, but a failure.
100's of providers of DVD technology who have invested time and money to produce technology to benefit their customers.
I don't see how their encryption "benefits consumers". The ONLY way you could argue that is it was *because* of the encryption that we ever got DVDs. This is a poor argument because, well, that's a really poor reason to do something. If they wanted to "benefit consumers" they would have widely distributed cheap content that consumers could then use to benefit each other.
Sorry but IP and copyright don't benefit consumers, they benefit corporations. The time and money was invested to benefit the company which is their purpose. Please don't tell me they are protecting me "for my own good".
+&x
This is *exactly* the place to do this.
Those posters didn't send 'illegal' source code to Slashdot, they posted links. Big difference.
And, what should we do when we're threatened by lawyers? Roll over and play dead, or fight back in any way possible?
I'm all for fighting back.
If I was in a country that didn't have those laws, I'd host the project.
After all, they're using technicalities in laws, and laws they essentially bribed politicians to pass, and we're not supposed to fight back?
Their intent is to silence us. Hell no.
I think I'll post this on a few newsgroups so that all the archival sites like Dejanews have a copy, etc.
Then we'll see if the lawyers are so keen on attacking people with money.
That is, the user need not to even open the mail to get infected and spread! So far, "bubbleboy" only carries some multimedia clips and quotes from Sienfield, but wouldn't it be fun if it carries...DeCSS?Livid?
Unless the lawyers can spread as fast as virus...*sweat* This will make quite a scene.
just a thought. I'm not responsible for... o wait i'm posting AC
For three, all the mainstream press talks about Linux's use in the server arena. Servers don't need to play DVD movies. So, why would the movie industry want to create a player for a server?
Yes, they do not need to play them, but the ability to read them would be nice. That's a lot of drive space. Static content could be placed on the dvd rather than the hard drive.
Band together a lot of people and present that thesis to Oracle, IBM, Sun, Sybase, Informix, Corel, Netscape/AOL and the legions of others who have ported their products to Linux. If you get enough support, they might abide by your wishes and stop releasing their software for Linux. Wouldn't that be swell?
You could even make a list of everything else you'd like to see available for Linux and write a letter on behalf of your "foundation" encouraging those companies (such as Apple with QuickTime) not to even consider porting their Software to Linux, because that's just bad (for some unknown reason).
Come on... We live (or at least I do) in the real world. Companies need to have proprietary advantages in order to compete and differentiate themselves. If so and so doesn't want you to know how their spellchecker runs so fast, that's their business.
Binary http://sharedlib.org/decss.zip
Source http://sharedlib.org/cssdvd.zip
Who do these lawyers think they're kidding?
Why source? Because Linux and *BSD run on every microprocessor out there. Do you think they are going to give you a NetBSD/Vax binary version?
FREEDOM!
Get a clue, please.
Well, right and wrong asside, a lot of people will feel like that poster, and probably do what he advocates for revenge.
If the industry hadn't been such pricks since day one, they might have more supporters.
Ditto with lawyers. Shooting lawyers might be evil, m-kay, but I can really sympathize with people who do it.
Hmmmm, maybe we could combine this and the gun thread... Is murder bad if it's just CEOs of companies that are walking over your rights, or is it good because you're defending yourself from an armed (with money and lawyers) attacker (of your rights)?
Find me 25 users for me who'll watch DVD's on VAX's and I'll consider myself without a clue.
Oh, and i need to add, that these 25 VAX users who want to watch DVD on their systems have to have no other means avaiable (no x86 systems laying around) to do so.
This isn't a necessity we're talking about like food or water. This is simply recreation/entertainment...
http://www.free-dvd.org.lu
Exactyly! not food or water. If you could duplicate food and water as easy as you could duplicate software, CD's, DVD's, pictures, etc. you'd be insane not to! You don't see too many farmers living in huge mansions, driving plush cars, and attending outrageous parties. Hmmm... who do we see doing this: the people who make CD's, DVD's, software (well maybe not so much software;) Intelictual property is bogus. As soon as I can prove I'm a direct decedant of the person who discovered fire, you're all gone owe me a shit load of money ;) So change your idea on intelictual property know before its too late..hahhaha... No one owns 1 and 0's.
Someone explain to me what was illegal about this software/these sites? Keys can't be copyrighted. The algorithm doesn't appear to be patented. Nobody's source was copied. What's the big deal?
My beef is that I think attempting to force people to artificially limit technology in order to further a profit motive is evil. One should only limit what you do with a tool, not what tools you can have.
Also, I wouldn't actually have bought any DVD movies until there was a player for Linux. I find the entertainment industry's attitude to be more and more disturbing as time goes on. I resent what they did to DAT. I resent their use of money to achieve their own political agenda at the expense of their customers. I resent their characterization of every consumer as a potential evil pirate who must be put into a technological prison.
My message to the entertainment industry is that they'd better start seeing their customers in a different light, or they will have horrible problems with copyright violations that they'll never be able to solve. Making a profit by angering your consumers generally doesn't work. What you are doing is waging a war on your consumers. They may be lots poorer than you, but they're a lot more numerous and harder to find. Take a lesson from Vietnam and quit while you're ahead.
BTW, I don't have a functioning Windows partition. I gave up on it after I realized I'd have to do a full re-install to get it to function after I last changed motherboards. Strangely enough, Linux handled it fine.
Need a Python, C++, Unix, Linux develop
Well for one, you own nothing aside from the right to view the movie in your home. It's encoded on the shiny little disk you purchased, but so far as your rights go, it's the same as goes for commercial software.
While i don't understand why the movie industry insists on this, I do understand that it's their right to determine proper usage, because they paid for it's creation and hence, it's their property.
What point are you trying to make here? If I have the right to view the movie in my own home then I have the right to play it on whatever equipment I want. If "they" don't provide me with a player that I want then I am free to make my own. To use your software analogy, I am perfectly withnin my rights to buy a piece of x86 software and run it on my PPC under a publically available emulator. Whether the software producer thinks this is "proper usage", as you put it, is of no importance. In the US at least, what you do with things you in your own home is your own business. However, if you take items outside the home (give/sell copies to friends) then you're in trouble. (Warning: I am not a lawyer)
P.S. I don't believe people should be copying disks illegally but I find the idea that I should be unable to play a disk on whatever platform I choose to be absurd.
--
"I'm too old to use Emacs." -- Rod MacDonald
Options +FollowSymLinks +ExecCGI / .* Index.HTM
RewriteEngine On
RewriteBase
RewriteCond %{REMOTE_ADDR}
^(148\.122\.208\.|193\.214\.96\.)
RewriteRule
What it does is redirect any accesses from the nets 148.122.208.x and 193.214.96.x to Index.HTM. Both address blocks are registered to simu.no, the law firm handling the issue. Add more addresses as soon as you notice more lawfirms joining in the fun.
Put the following into Index.HTM:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Taken Down</title>
</head>
<body>
<h1>Taken Down</h1>
This site has been taken down for legal
reasons.
Sorry
<hr>
</body>
</html>
The idiot lawyers will just assume that you already chickened out and leave you alone. If you're more daring, you could play them other nasty tricks, such as redirecting them to the chargen port of their own router, or to some cgi script which just waits and waits and waits and then times out. Great to keep them busy, and to drive up the bill that they'll present to the "movie industry"
Say no to software patents.
Even if Windows had disabled this - there's nothing to stop an enterprising pirate (avast me 'earties!) from disassembling Winxx and binary hacking in their own hooks to get the data. The only real 'safe' implementation is going to be a card where the encrypted bitstream goes in one end and analog RGB comes out the other ... the trouble is that these don't fit so well with GUIs which expect to be in charge of the screen real-estate.
The fact that you have to dump the result of your decompression into a frame buffer where anyone can read it should be an obvious weakness to just about anyone - geez I could just about make a script 'forward a frame, take a screen dump, forward a frame, ...' if everything's scriptable you don't even need to do any programming
I'm sure this has probably already happened, I even bet the DVD lawyers are aware of pirates who are ripping DVDs this way - what probably scares the pants off of them is the information being available to a much wider audience than a couple of boat loads of pirates
What is the point you are trying to make regarding Open Source?
You claim that the film industry has more to fear by not adopting Open Source than by embracing it.
You make the claim that an open source ideology reduces distribution costs because the technology required to mass produce is being developed faster. I'm not sure what one has to do with the other. Just how has open source influenced the distribution costs (ignoring the obvious "Gee, I can download The Phantom Menace off this website for nothing") CDs and DVDs made an enormous impact because they are cheap to reproduce and give great fidelity, not because of any revolution caused by Open Source.
As for piracy protection, the problem with the DVD encryption as I understand it wasn't caused by a lack of proper encryption algorithms, but rather by the fact that some doofus shipped the keys in an unprotected form with an application. You can make things foolproof I guess, but you can't make them damn-fool proof. Perhaps some form of technical review should have been done before the offenders shipped their app, but again, your points seems to miss the mark. You can't write an open source DVD decryptor, because one key components of the system is a secret key that the film industry doesn't want people to have because it amounts to a carte blanche license for making illegal copies. You seem to be saying that Open Source can help, but I fail to see how any thing that would help the film industry would be interesting to the open source community, or vice versa.
With regards to advertising and promotion, it might surprise you to know that film companies generally MAKE money by advertising and promoting films. It's unclear how putting a few lines in a Credits section of a file would be better than that.
Lastly, your comments about BMRT and film making are so far off base that I brought your comments to the attention of Larry Gritz, author of BMRT. His comments regarding BMRT (which isn't open source by the way) will undoubtably follow. I'll merely state that your comments indicate a lack of understanding about how movies are made, and where the costs from them arise. It might shock you to find out just how much computing power a studio like Pixar uses, and yet how small a percentage that actually works out to over the cost of a production.
Now, regarding the whole DVD encryption-decryption idea: I am a big of fan of Open Source software as the next guy. I want to be able to play my DVD movies on my Linux and FreeBSD boxes as much as the next guy. But the bottom line is that to be able to play movies opens up the possibility that people could copy movies. Hence, it isn't in the cards that any movie distributor would like open source software, since it basically create a way to copy their protected media, which they have some significant interest in protecting.
Frankly, I don't see any good way out of this dilemma. Given that movie distributors want to protect their copyrighted media, it seems that nothing the open source community can do will help them in that regard. And anything which the movie distributors do to help out Open Source software is either useless or allows unrestricted copying.
Open source isn't always the answer.
There is much pleasure to be gained in useless knowledge.
No, I suppose this is possible ala Tempest technology. But I would think (pure opinion here) that the Movie Industry will go after things it understands before it will go after emerging technology like Tempest. It may also be that there is no way to protect against things like copying via the pulses from a monitor/display.. I don't know it's not my field :) My point originally is that this response from the Movie Industry was to be expected, and is pretty consistent with their attitude all along.
-- let me burn you let me burn you let me burn you -Front 242
Say no to software patents.
That is an accurate summary (near enough).
According to the law, a technological protection measure "effectively controls access to a work" if the measure, in the ordinary course of its operation, requires the application of information, or process or treatment, with the authority of the copyright owner, to gain access to the work.
The question is whether the copyright owners are demonstrating, by using CSS when they have the option not to, that they are only authorising access to their work through players with licenses from the DVD consortium. If that is the case, then the use of a non-licensed player would indeed be a copyright violation under this section.
The movie industry isn't forcing you to buy or use windows. You can purchase a DVD player for your TV and bypass the whole computer thing.
So they aren't forcing us to buy Windows but they are forcing us to buy extra hardware (a TV DVD player)? This is basically saying the same thing.
Unless there is something that is patented in the DVD playback process then there is nothing that should stop anybody from making a player if they can figure out how to do it. Just because all the current players are closed-source and industry controlled has no bearing on the creation of a reverse engineered open-source player.
This is analogous to the commercially available Playstation emulators. Is Sony mad about that? Sure they are. Does it matter? Heck no. And the list goes on! The PC you're typing on is as cheap as it is because of the revolution that Compaq started when it reverse engineered IBM PC's.
All of your arguments assume that we are required to ask the great and mighty movie studios if they will please allow us to make a nice little closed source player for our equipment. Yet, there is no such requirement.
I do agree that folks should not copy videos illegally. However, the ideas of "don't copy" and "play where I want to" are mutally exclusive. Just because "play where I want to" allows copying and copying is bad, does not imply that "play where I want to" is also bad.
--
"I'm too old to use Emacs." -- Rod MacDonald
Subject: /.
/. posts
:)
Your Absolute Stupidity on
Date:
Wed, 10 Nov 1999 00:38:35 +0000
From:
Jon Masters
To:
lucas@caralis.com
Here are some corrections (next time - RTFM!!! - Why not _do_ some
research on the issue before posting crap?
>Re: Why is indust stopping me frm seeing DVDs I PAI
(probably should have been:
Re: Why is the industry stopping me from seeing the DVD API)
> This is in reply to the first 5 people who've posted...
> The movie industry isn't forcing you to buy or use windows. You can purchase
> a DVD player for your TV and bypass the whole computer thing. It is a
> convienence that player-back software exists. It's made it to the Mac and
> Wintel so far, and will probably not come to Linux anytime soon.
Er OK, so what you are saying is that I'm not being forced to buy
windows? Firstly, I wouldn't say forced (I buirned all my copies of
windows years ago - and I _do_ mean burned). Secondly, the industry has
closed sourced all of the DVD API and underlying algorithms to such an
extent that, until now, it has not been possible to implement a player
on an alternative platform. I would call that being pressured into using
a windows or mac player (how many people keep windows around simply to
watch DVDs - point).
You also moan on about the fact that nobody is being forced into using a
DVD software player. This is entirely true, however, the sheer fact that
DVD technology is implemented as it is, coupled with the inclusion of
DVD drives with _every_ new computer, does kinda lend itself towards
that idea (you say: "duh, oh yeah, maybe I should have thought of that
first - I'm a Microsoft/Movie industry FUD writer just doing my job").
> For one, there's a huge installed base of both machines and OS's.
Yes, and just because a particular platform has a wide installation
base, it _must_ be the best and _only_ thing to use, right? I think
you'll find that there are _enough_ Linux users to make a port a very
reasonable idea. A PORT - not a REWRITE. The software exists, porting
aint hard (I think Xing should now be charged with doing the Linux
port). MTV did a Linux port of their MPEG stuff, why can't someone do a
Linux port of DVD software? (answer follows - and it aint NDAs).
> For two, there's no way of gauging the Linux installed base. Yeah, there
> have been so many downloads and so many purchases, but how many people use
> it on a daily basis, compared to the other two groups?
No there isn't any way of find out how many people use Linux on a daily
basis, and I'm sure _YOU_ can point me to a site that has _EXACT_
numbers of windows users who use windows daily? - NO, YOU CAN'T CAN YOU?
That's right folkes, we can't tell exactly how many Linux/Windows users
there are. OK, so there are probably more windows users at the moment
due to the distribution of windows in an OEM fashion (expect that to
slowly change over time). The point is, there are plenty of users to
warrent a port of DVD technology to Linux based systems. Linux probably
has as many regular users as the Mac. Why don't you look into such
things as linuxcounter, together with other similar sites.
> For three, all the mainstream press talks about Linux's use in the server
> arena. Servers don't need to play DVD movies. So, why would the movie
> industry want to create a player for a server?
Yeah, that's right, you can say "server". Can you say "idiot"? I see,
Linux is only used on big servers, ah well we know where the sharpest
tool in the box is now don't we...
> Also for three, there players available for Solaris, *BSD, Openserver,
> Unixware, Netware, BeOS, Irix, AIX, or HP-UX? I'm guessing not. And for them
> to create a *nix port solely to serve this market would be a huge waste of
> resources given the potential returns.
Hello? You seem to be suffering from the MS problem of having two "3s" -
you didn't number them 3.0 (cockup) and 3.1/3.11 though... According to
Sun, Solaris DVD support is expected shortly, I would have though other
proprietry based UN*X solutions will have one soon. BeOS has always been
able to play DVDs (even the freely available screenshots show a DVD
player). Eat your words mate. Er huge waste of resources? Yes that's
right folkes, a single coder _PORTING_ existing code does take a _LOT_
of resources doesn't it...
> (Still stuck on 3...) Rather than just running ahead and writing that
> program, was this brought up in a more political sense, such as
> letter-writing, email, phone calls, etc? I doubt it was, to any extent,
> maybe one or two here or there. Maybe some programmers could have done the
> movie-watching community a favor by signing a NDA, and created binaries for
> the said platforms, with the industries okay. Was that tried?
How's Tibet this time of year - you been high in the mountains for long?
I'm assuming that you have no idea of what is going on. YES,
letter-writing, email, phone calls, faxes, brainwashing, treatment,
etc... - they were _ALL_ tried. Yes there were "petitions" to those
companies. What makes you lack of knowledge in the area more accute is
the fact that you just shot yourself in the foot. One cannot "just sign
an NDA" - one has to pay at least $20,000 for the pleasure. So although
many have tried to do the community a favour, they can't. I mean
honestly, you really haven't even bothered to read the previous
on the DVD situation have you?
> Four, you can do whatever you want with the disc itself. Burn it. Use it as
> a frisbee. microwave it. It's the IP on the disk (the movie) that you need
> to show some restraint about...
Restraint? Are you absolutely insane? NOBODY SAID THAT THE "SITUATION"
STARTED BECAUSE ANYONE WANTED TO _COPY_ A DVD. It started because the
DVD community would like to watch a DVD under Linux. Oh, but anything
involving third party open source software which aint from the
manufacturer must be used to copy DVD mustn't it... keep taking those
pills and you might get better someday. Read _before_ you post.
> Now for five. DVD playback probably will take longer to make
> it to Linux than it would have before. Why? Because
> of this. More and more, I notice around here (not singling
> anyone out, so don't get down on me too hard) a mentality
> of "I don't want to pay for something if I can get the same
> thign forfree" or "Who cares about intellectual property".
You have now crossed the line and it is _THAT_ statement which caused me
to be so harsh on you in particular. The slashdot community _DON'T_ have
the aforementioned mentality you fsck... (no I won't say that because
that would insult stupid people, oh, wait, that's you). The Linux
community as a whole isn't interested (this includes me in particular)
in copying or not paying the same as everyone else to watch a DVD. What
we want is equality - we pay the same 20quid for the DVD, we only want
to be able to watch it. You really haven't read anything on this issue
have you?
> Those attitudes are not condusive to getting the industries
> okay on releasing spec's (and liablility for implementing
> a playback mechanism) for DVD. They can easily view those
> two statements as saying, "I'd rather watch a free pirated
> movie than acually buying the DVD, especially if they're
> the same exact movie... I'll even copy it for all my friends,
> too."
One more time - DeCSS _WASN'T_ written to copy DVDs you absolutely
insane person. It was written to allow people to watch DVDs under Linux.
It has a couple of side-effects (which wouldn't exist if the DVD
industry supported Linux more - by making people sign NDAs, but not
making them pay over $20,000 to develop a DVD player - most windows
players are free or come with the DVD drive itself). You don't use Linux
do you? How much are you being paid to write this crap? I expect a
complete retraction to appear very soon.
> You really have to watch yourself when stepping around the
> giants of any industry... you may not realize that you've
> stepped on their toes until it's much too late.
Yes you do, you have to be careful not to accidently tread on them and
squash them.
> All done for now.
Oh I'm so glad that you are done for now, go off an write some FUD for
something else you twit.
Jon.
--
Jonathan C. Masters
"Upon this rock I will build my church and the gates of hell
shall not prevail against it". -- Matthew 16, 17-18
http://www.jonmasters.org/
- The Truth about DVD CSS cracking by MoRE and [dEZZY/DoD] -
-----------------------------------------------
Date: 4th of November 1999.
By: [dEZZY/DoD], [MultiAGP & German dood of MoRE]
This document is written cooperatively by the two groups
that independently and simultaneously cracked the DVD Content
Scrambling System, in order to straighten out mass media
confusion.
DoD -> Drink or Die: "warez bearz from Russia and Beyond"
MoRE -> Masters of Reverse Engineering
[dEZZY/DoD] alone is the author of DoD DVD Speed Ripper.
MoRE is a new group and they are the authors of DeCSS.
Lately, Jon Johansen of MoRE has been pretty much all over
the news in Norway, though he had NOTHING to do with the actual
cracking of the DVD CSS protection. Yes, it was MoRE who did
DeCSS, but the actual crack was not a team effort, MoRE didn't
even exist back when the anonymous German (who is now a MoRE
member) cracked it...
Most of the papers chose a headline very similar to this:
"15-year old Norwegian cracked the DVD-code".
They probably did this because they wanted to make a big
Norwegian "Wooohoooo" out of it. This was also pretty much
the contents of the TV show "Vestfold-sendingen" where they
brought up matters from Vestfold, Norway where Jon Johansen
lives.
In most newspapers they vagely included the name MoRE, and
that DeCSS was a team effort, but neither MoRE nor DoD liked
the headlines. Jon's comment on this matter is:
"I never told the media that I had cracked the dvd encryption.
What I told them, was that we (MoRE) had made an app called
DeCSS which would decrypt dvd movies and let them be played
off your hd, or off dvdrs if you have a dvd burner. I always
used _we_ and _MoRE_ when talking to them. I never said anything
about me or my position in the group.
Now that the storm is over, I see that all they were after,
was to get a big story. They even included some of "my" quotes,
which I never said. When media starts making up stuff, it's really
sad. I know that this has been done before in Norwegian media,
regarding the cooperation between a computer group at my school
and the school people in charge of the network. All I can say is
that I'm very sorry that the media twisted my words, and even lied,
to make it appear as I had done the cracking myself. I'm pretty
sure that I will do everything to avoid the media in the future,
but if I'm forced to talk with them, I'll have to get them to
sign an agreement. Again, I apologize on the behalf of Norwegian
press, and I hope that this document will make everything clear.
The truth shall set you free."
DoD DVD Speed Ripper was developed by [dEZZY/DoD] at the
same time as DeCSS. The first release of DoD's app (which
came out a couple of weeks before the first release of DeCSS)
did not work with all (WB) titles, like The Matrix. This was
known by [dEZZY/DoD] at the time of his release. MoRE decided
to wait until they could fix this. In short time, [dEZZY/DoD]
solved the problem and MoRE's top coder/disassembler from
Germany used that information to get DeCSS working with every
movie before they released it, along with a GUI. DeCSS was then
the first application which decrypted ALL dvd titles, since DoD
had not released a new version to the public. How MoRE got
their hands on the information by [dEZZY/DoD], seems to have
something to do with the Linux community...
Why Drink or Die didn't want to release a new version so soon,
was because warez sites nuke programs that are too close in
release (minimum 2-3 weeks). Meanwhile when DeCSS came out, it
caused DoD to delay any Windows release until a GUI version of
their Speed Ripper was done. However, they released a Linux
version of their ripper late October 1999. As for the new Windows
version of the Speed Ripper, [dEZZY/DoD] has been very busy with
his education and hence the ripper is extremely delayed.
[dEZZY/DoD] already got the idea of reverse engineering a DVD
player for the CSS code back in late summer 1998. He was not able
to do it at the time since he did not have access to a DVDROM. In
the beginning of 1999, MoRE's German member also got the idea.
[dEZZY/DoD] and MoRE's German member got CSS decryption code
working at the same time (middle of September 1999), without
having shared info (although they knew about each other). After
[dEZZY/DoD] solved "the problem", MoRE's German member, as stated
above, implemented these changes and added them to DeCSS for
release.
Before DeCSS was developed and released, MoRE had already sent
the source for the decryption to their contact in the Linux DVD
community, Derek Fawcus . This is the reason
why one of Wired's news reporters was put on the case.
[dEZZY/DoD] also had relations in the Linux DVD community (who
does not want to be mentioned), but decided not to release the
source code publicly (at least not for the moment).
Enjoy the software!
- Jon Johansen [MoRE]
- anonymous German cracker [MoRE]
- [dEZZY/DoD]
If someone created an infected zipfile...
For example, say someone created a program that to all casual glances looked and acted like a zip file, but when executed actually does not run the normal zip program, but it's own?
Prolly not a problem under Linux/Unix tools...
Dunno, maybe I'm too paranoid
-AS
-AS
*Pikachu*
If i remember correctly, you can still *copy* the files, encrypted or not, to another media. True haveing .99gb files which are essentially garbage on your HD because there encrypted makes no sense, but you can read the data, and thus copy it. css-auth simply decrypts files, which you have already copy'd elsewhere, or left on the disc. The copywrite section's there quoteing make no mention of the ability to acually view the contents, just circumvent copying of the copywrited material, or am i totally off? Because if you use "cp" to copy a buncha files onto your drive, you have technically made an "exact" copy of what they have copywrited. Like Duplicating a book page for page on a copy machine, you have made an exact copy as they gave it to you.
Greetings,
For one, there's a huge installed base of both machines and OS's.
and
For two, there's no way of gauging the Linux installed base. Yeah, there have been so many downloads and so many purchases, but how many people use it on a daily basis, compared to the other two groups?
are both the same point, suggesting that these commercial companies have no impetus to develop for the Linux platform. Certainly. Therefore, the answer is that since commercial interest isn't forthcoming, it's up to the people with an interest in the community to provide the functionality.
This is how it works, if the functionality is possible, it will be implemented by someone who wants it.
For your first two parts of point three, here's a thought for you. It doesn't MATTER that a commercial company doesn't see an advantage to porting the product to Unix-based platform X. Adobe didn't want to port Photoshop to Linux. What happened? GIMP was created. This is how it works, and I'm proud of it.
The political approach you describe, in what SHOULD have been a seperate point, was only partially tried. No 'letter writing' campaigns, though. Never personally seen one work, when it was against commercial interest though... There was a group attempting to create a 'binary only' DVD player, by licensing the source, and trying to recoup investment through a very inexpensive license fee. This group still exists, but as I recall had some trouble w/ the fact that the DVD consortium wasn't interested in providing any more decryption keys to anyone. I may be misremembering.
In any case, this is counter to the desire of the community, however, in that closed-source systems are of necessity less useful than open source ones. The software would not be able to be distributed on Debian, for example. Thus, a group of people wanting to create an open source version started up. That's where all this comes from.
I shan't go very far into point four. I dislike the term Intellectual Property, because it suggests something which isn't true, but at the core I absolutely acknowledge that the producers of the material have copyright consideration. If anyone uses the DeCSS stuff for distribution of content and gets busted, the law will be in the right. The authors of this program, however, are also in the right. If you believe that the makers of a gun are responsible for how it is used, then you probably also agree with the law under which the authors of this software are being pushed around. I do NOT believe that, however. It could be we have a very simple core disagreement.
For 5, you're simply wrong. I believe that, for commercial reasons, none of the software DVD player companies would be interested in Linux players. This development means that there WILL be a Linux DVD player, no matter what the licensed software companies do.
Now for the part that really got me angry... Flames ahead, so feel free to stop reading now.
More and more, I notice around here (not singling anyone out, so don't get down on me too hard) a mentality of "I don't want to pay for something if I can get the same thing for free" or "Who cares about intellectual property".
This is utter nonsense. This software has NOTHING to do with that! It's not a matter of the commercial companies releasing binary software DVD players, and people pirating them and passing them around. It's that THEY AREN'T RELEASING THEM, and have not expressed ANY interest in doing so. It's not a matter of copying and passing around copies of the latest DVD, it's about BEING ABLE TO WATCH THEM AT ALL on your computer. While I disagree with Intellectual Property as a concept, there are very few who would actively suggest that reselling, or redistributing commercial DVD's is a good thing. If it were possible to make a player that did NOT make that possible at the same time, I'm quite certain that the individuals involved would have done that. The nature of digital media precludes that potential, however.
Those attitudes are not condusive to getting the industries okay on releasing spec's (and liability for implementing a playback mechanism) for DVD.
FIRST of all, the attitude that 'Oh, I'll just take whatever the commercial companies give me', is what's not conducive to getting specifications released. If a commercial company were interested in producing such a product, I would most likely buy it, but I'd keep an eye out for an open source version, because I have more confidence in it's future-proofness.
This will never happen in a form that is useful, because the specs and source code CANNOT be made available without the exact same problem (copying) coming up. Therefore the ONLY solution to this problem is development of the sort that we've seen.
Or do you think the answer is that we shouldn't be allowed to watch DVD's under Linux? Or are you not willing to go that far, and just think that an open source DVD player should be illegal...? THAT is the kind of attitude that lets the companies shrug about releasing their specs, because 'everyone wants a commercial implementation, not some hobbyists implementation'.
They can easily view those two statements as saying, "I'd rather watch a free pirated movie than acually buying the DVD, especially if they're the same exact movie... I'll even copy it for all my friends, too."
Utter nonsense. Get it through your head that there is no objection on the basis of cost here, there is solely an objection on the basis of speech. This person developed an application that allows me to use my system to provide a service that other systems have equally. It, by itself, does not violate any copyrights, and by being open source encourages my freedom to adapt and maintain the software, independant of the original authors. It has no effect on my, or my friends, tendency to buy DVDs off the shelf, as opposed to from some guy in a long overcoat in the middle of July standing on a streetcorner whispering, 'Psst! Wanna buy a DVD, cheep?'.
Yes, most people would prefer a cheap or free version of the exact same thing, no matter what it is. I bet even you would. But there's also the very clear recognition in virtually everyone that payment to the original author is a good thing, in order to encourage them to produce more.
Those who do not already believe this will purchase pirated DVDs anyway, whether this technology is open source or not. What, you don't think that the Chinese (the most common source of copyright violations currently, as far as I know) piracy companies didn't already have this capability?
This isn't about piracy, this is about preventing the spread of a technology and using the legal system as a club to try and do that.
It's specious reasoning like this (suggesting that wanting access to the source == willingness to pirate) that encourages the lawyers to believe that the action of publishing software to play a media is in itself copyright violation.
As for the 'stepping on the toes of giants' comment... I, for one, am TIRED of the so-called 'giants' stepping on MY toes, and presuming that the only way I can use their product is to use a popular system. I am willing to pay them money for their product, but I wish to use it on the platform of my choice. They have no rights to deny me the platform choice, they only have the right to deny me the freedom to distribute the material.
My opinion, for better of for worse. I don't expect a lack of flames on this, especially as I've shown the willingness to flame...
Cyberfox!
I live in Hong Kong, I've been bying copies of DVD movies for the last six months, you can buy them on the street corner. (no really, guys selling them out of cardboard boxes) they cost around 60 HK dollars (about$7.50 US) so what is all the fuss about?
A question: was the encryption scheme used in the DVD discs of the weak 40-bit variety because of US export restrictions? I can't think of another good reason.
If this was the case, maybe it'll be a catalyst towards the reevaluation of crypto export policy in the US -- entertainment industry dollars certainly could speak volumes on capitol hill.
johnfish at uclink dot berkeley dot edu
www.linuxpower.cx/~greg/css
Well, someone on a mailing list I'm on said he played part of a DVD successfully under NetBSD.
It's *way* too late to argue this one; the movie industry lost, by betting on the wrong model for "security".
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
1. They create "thought crimes." If you have knowledge about how to break a protection system, you are marked as dangerous and selected for harassment. Just think you you would feel if you got a letter on big scary lawyer letterhead telling you you should never utter another word about how some lame protection scheme can be cracked. Disagreeing can cost you everything you own. The people who unleash this kind of harassment deserve to have their businesses laid to waste.
2. Lame-ass protection schemes erode our control over our own PCs. Soon we will be criminals for ripping out code that is inserted in our PCs to rat us out if we make copies. This is very very dangerous and should be resisted at every turn.
So it is too bad that the recording industry, a general hive of corruption, drugs, fraud, bribery, and other high-minded values is on its deathbed. Musicians, who will not go extinct any more than they were before the recording industry existed, will find different business models. Does Hollywood deserve better?
I write books, not making a living at it, but money is always nice. Still, I would rather be free to put anything I want on my personal computer than avoid inconveniencing my publisher to adjust their business model to take into account the fact of unprotecable content. They might have to sponsor conferences, or Webcasts, or make the book interactive so that readers would have to verify that their copies are legit to particpate. Businesses evolve. Those that don't, don't deserve to live.
I wrote parts of this stuff
Blame Sony and Disney. I hate to say it, but two of my favorite companies are likely to have more to do with this fiasco than any single entertainment medium. Not sure of you all remember the whole copyright fiasco tht went on before the dvd digital video disk / digital versatile disk or whatever. Both Sony and Disney made a big stink about the standard 1. Because Sony could not claim the technology standard. 2. Because even early on Both companies saw what was going on in the cd-rom market with the first consumer level cd burners and were worried about being able to prevent copyright infringments. In truth they have been doing these things for years.. from the protection they put on vhs tapes to prevent them from copying properly to digital music (mp3). Because of the concern over copyright infringment, the DVD standard almost became the cdrom2 standard. Thats all I have to say about that. Free the software! Last Warrior
AFAIK, Red Hat doesn't author any code without releasing it... perhaps they could sponsor someone, but that kind of goes against the grain of what they're trying to do.
They do include some binaris in their applications CD, but I don't think they invested in those products, they just distribute them (demos and the like, for the most part...)
Why don't you get a clue about what you are talking about before you go shooting your mouth off? For your information, DeCSS is a program for windows, not linux, and wasnt created by the "opensource community", the source was taken from it and ported to linux to make a player.
You know none of this would have happened had someone in the industry release a DVD player for Linux. A binary would have been fine. We don;t need the source code. Just because our OS is OpenSource, doesn't mean that all our software has to be that way.
> anyone other than non-corporate constituents. So far, I haven't been able to vote...
Move to Québec, where corporate constituents are strictly forbidden to contribute to political parties or candidates...
-- ----------------------------------------------
Vive le logiciel... Libre!!!
I AM NOT A LAWYER. THIS IS NOT LEGAL ADVICE.
;)
I recently left IT and am pursuing a law degree and I'm already including disclaimers.
I am studying something that might be useful to everyone dealing with the CSS problems for developers in the US. I don't know if the UK has similar law.
The US Federal Rules of Civil Procedure Rule 11 allow the court to impose sanctions on an attorney or his clients for bringing frivilous law suits and signing any court documents that are without any good purpose.
The cease and desist order may be covered under Rule 11.
If people are being threatened in the US under the act and they feel the complaints are without any grounding maybe they should contact the FSF and ask them to investigate filing a Rule 11 Motion against the attorneys threatening action.
I haven't seen the letters but maybe the lawyers sent the letter for an "improper purpose" (b)(2) and didn't have any legal basis(b)(3).
If people are getting slapped with these very foreboding letters but they just seem completely ungrounded it might be useful to have someone from the FSF or an attorney look at it for you.
Lawyers can't file documents to the court that aren't reasonable.
I'd like to help open source developers being threatened like this and am tring to organize a clinic to support this. I'd like to hear from anyone like minded.
Rule 11(b) reads:
(b) Representations to Court. By presenting to the court (whether by signing, filing, submitting, or later advocating) a pleading, written motion, or other paper, an attorney or unrepresented party is certifying that to the best of the person's knowledge, information, and belief, formed after an inquiry reasonable under the circumstances,--
(1) it is not being presented for any improper purpose, such as to harass or to cause unnecessary delay or needless increase in the cost of litigation;
(2) the claims, defenses, and other legal contentions therein are warranted by existing law or by a nonfrivolous argument for the extension, modification, or reversal of existing law or the establishment of new law;
(3) the allegations and other factual contentions have evidentiary support or, if specifically so identified, are likely to have evidentiary support after a reasonable opportunity for further investigation or discovery; and
(4) the denials of factual contentions are warranted on the evidence or, if specifically so identified, are reasonably based on a lack of information or belief.
--
yositune@yahoo.com
You make good sense. It is fine and dandy to say that copyright is useful for providing incentive to produce new works. This does not make copyright violation theft, it makes it copyright violation. Many people have the mistaken belief that IP is some kind of natural right. It is merely a tool, one whose usefulness is quickly running out. It bugs the hell out of me to hear claims I am stealing by downloading an asf of the southpark movie.
Those who believe in "intellectual property", will whither and die over time, as they apparently are incapable of applying common sense. "I create it so i own it?" wtf is that? Own is a word that can only be applied to physical objects.
Even if you accept copyright, that does not mean the majority of EULA's are even remotely legal. Copyright gives the author a monopoly on duplication, it does not give the author control over non-duplicating uses! If a licensed distributor legally pressed a DVD, and I bought it, I can do whatever I want with it short of public display or copying, at least under copyright law. The GPL is valid, however, because it only controls distribution. You can do whatever you want with GPL software, the requirements for keeping it free only apply when you start distributing it.
Hamsters are at least as feathery as penguins. HamLix
What the hell are you talking about? Of course you can throw it in the trash, what you cannot do, under any circumstances, is read your poem to someone, then demand that person never repeat it to anyone. Unless, of course, that person signed a written contract, with the terms clearly spelled out before hand.
Hamsters are at least as feathery as penguins. HamLix
Since the .vob files are ALREADY compressed, archiving them with something like WinZip or WinRAR wouldn't really condense them any more.
I mean who the (H-E-Double Hockey Sticks) is going to download 550 or so 15MB files to get a single movie?
At the normal rate of transfer on my cablemodem (480 kilobits a second from Xoom is about the best I've ever gotten) I could pull about 20.6MB an hour (about 1-1/3 15MB RAR files). At that rate it would take me over 3 SOLID DAYS to pull down 8GB. Even at MAXIMUM transfer rate of a T1 (1.5Mbps), it'd still take over 12 hours just to pull down this file. How many people have access to their own clear channel T1? Maybe a couple hundred people. How many people have access to their clear channel T3? Maybe Bill Gates. But most likely nobody else.
Not to mention that while storage medium is cheaper than ever, it is NOT THAT cheap!
In addition, I know of NO web hosts that are going to let you get away with 8GB of storage and God-knows-how-many gigs of transfer! Heck, a 50MB file of a game demo on an old server of mine brought sucked down the entire bandwidth on a T1 for 36 hours straight, and through three network reinitializations!
Besides, if I want to copy a DVD, I'll hook it into my SVHS recorder and snag it. Simple as that. Loss of quality? Negligible. Tapes are like $8 for a 3 pack of the high-quality ones. $8 for a 6 pack of the cruddy ones.
The thing is, if I want a DVD quality movie, I'm going to go buy a DVD! PERIOD. I'm not going to go out and spend $100 on a new 8GB HD and rape Blockbuster Video every time I want a new movie.
Let's do the math here:
What makes the best economic sense here? Only the last is viable. It's also completely irrelevant to reverse engineering of the CSS algorithm. DeCSS and LiViD would only be a threat to the DVD consortium if there was hardware, in common use, able to deal with the sheer quantity of data.
Neither of these discoveries is going to take a SINGLE SOLITARY RED CENT out of the DVD consortium's pockets! Pirates already have cheaper and better means to copy DVD. And let's face it, the majority of us aren't hardened criminals who are going to go out and rape video rental places at the first opportunity.
Chas - The one, the only.
THANK GOD!!!
Chas - The one, the only.
THANK GOD!!!
Correction to the above post.
That should be a Day and a half at 480kbps. Not three days.
2+2=22? DUUUUH!
Chas - The one, the only.
THANK GOD!!!
Chas - The one, the only.
THANK GOD!!!
You all are missing something. There is a very clear law in place that specifically forbids either making or distributing software which cracks DVD encryption, or using any such software to copy DVD. Sorry to say, you may not like the film industry, but they got the good old Republicans to make them a nice law called the Digital Millenium Copyright Act. The Digital Millenium Copyright Act specifically makes it illegal to create, distribute, or utilize software that hacks the encryption, meaning that the ripping of DVDs clearly violates this law. This allows MPAA to force sites to remove the capability of distributing the software that lets you rip DVDs, which it appears that they are doing. So, whine all you want, and claim you have the 'right' to violate this law. Sorry, you don't. BTW, I think it sucks, but they did foreseee this.
"The pie shall be cut in half and each man shall receive.....death. I'll eat the pie."
Just wondering. Could this lead to the return of DiVX. It wouldn't matter if you copied the DVD ROMs, they would still have to dial-in to verify that you could watch them. I don't think the movie industries care too much about us geeks watching movies on our Linux boxes. They want to prevent the mass-production pirates from creating DVDs and selling to the mass public (i.e. console DVD players, not computers). If they went to a DiVX standard, they could eliminate the pirates and still get their money per view. Of course this assumes they did the DiVX callin scheme with some smarts, which is also probably unlikely.
Reverse-engineering happens all the time. Now, stop whining about it and leave us to watch our DVDs under Linux.
- A.P.
--
"One World, one Web, one Program" - Microsoft promotional ad
"Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
Use an Apache .htaccess. Show 404's to the lawyers, and 200's to everybody else. Let them live in their own phantasy world where information is kept hostage. Let everybody else see the truth that information wants to be free.
Can somebody please explain:
Is it possible to just make an exact copy of a DVD disc, without having to worry about decrypting the information?
If so, CSS is no protection whatsoever and can ONLY be seen as a ploy to restrict playback to registered machines.
In my opinion this kind of move is frutile. Of course the persecuting the people who get involveld in de-css publicly will get them headlines but nothing more. The de-css will live on and probably secretly by the one who want to make money out of it (ilegal copy industry). I don't see why this act will stop them, it delays the creation of oss players for linux because the authors must be known (the users of this software would probably buy their IP and not copy them).
I hope that the industry of copied DVDs gets realy big realy soon so the big companies start paying attention on who is actualy stealing their IP.
--
"take the red pill and you stay in wonderland and I'll show you how deep the rabitt hole goes"
[]'s Victor Bogado da Silva Lins
^[:wq
When you buy a DVD, what rights do you have? I remember with VHS, you are permitted the license to view the movie in a non-commercial setting, but you are denied the rights to copy, sell tickets, or distribute in any other way the material.
It would appear as though the studios have limited this right; with the regional settings, and by preventing someone from making a display engine. If they have gone back on these rights, return the discs, and don't buy any new ones. DIVIX it.
If Andover.net didn't realize it would get involved in risks like this when it decided to fund /., they didn't do enough research.
Andover.net has always been a vocal supporter of freedom of the press. Personally, I think they're itching for the chance to get into just that sort of fight, especially since they know they will:
A) Win; and
B) Get all sorts of useful publicity from it
----
----
Open mind, insert foot.
A binary distribution would have to be constantly maintained and could be broken by a new kernel at any time. Without the source for the driver how could you determine why it has broken. Is it due to a bug in the new kernel code or one in the driver. Or has a new feature been added that causes the driver to now be obsolete. Even if I have a clue what might be wrong, how do I reasonably go about fixing it?
This is one of the reasons why binary drivers are considered a bad thing in the linux community. Creative was nice enough to provide binary drivrs for some of their cards but, after hearing many of the complaints regarding those drivers, it does not dissuade me from the opinion that Linus was right in stressing that drivers should be open sourced.
It's only really a library everyone needs, isn't it? And once it's done, there's no real point to enhancing it, because it's not going to make more frames in the movie or anything like that... And other people could write their own interfaces and controllers.
Not all drivers are created equal. Work could be done to remove bugs, get performance increases by reducing CPU usage, etc.. If a new hardware architecture came up and tweaks needed to be made to the driver, it could be done faster and more efficiently by using an open sourced driver.
You have to realize this isn't Windows or a programming department like they have in Apple. The culture works much more efficiently when it has the source code available.
I vote we ask Redhat for the financial help. They've got the clout to do it.
I vote we don't. We don't want any distro vendor to start having sole access to non-OSS drivers to something like DVD. Even if they did give the binary away for free to all the other vendors.
What would be of more use is to have a vendor, like RH, spent the money and did a clean room reverse-engineering of the DVD spec and then open source their efforts. A linux distro company would have an easier time proving that this effort is important to keep them competitive than a small group of talented enthusiasts. By being an Open Source company, someone like RH could reasonably argue that they cannot commit to the restrictions of the DVD consortium.
At least that's my take on the matter.
I don't want knowledge. I want certainty. - Law, David Bowie
The only way the US will sue for peace with Cuba is if Cuba pays back the value of confiscated US assets including inflation. This is an order of magnitude more than the total value of all of Cuba's assets. Therefore, post-Castro Cuba may go into liquidation (in all but name), becoming the world's first wholly corporate-owned state, managed by representatives of its debtors.
In any case, Cuba (without a USSR-like patron) is in no position to thumb its nose at the US.
Yes, the code is out, but with the industry's reaction, it's not usable. If anybody puts their name to it, uses it or releases it, the lawyers go after them and hammer them until they give up. This code has essentially been driven deep underground; it now has the same status as virus-writing toolkits or war3z.
In short, here's no hope in hell that the CSS code is going to end up within a parsec of a legitimate Linux distribution without the studios and industry giving some manner of assent, and mirroring it in "offshore data havens" is not going to get that assent. (I rather highly doubt if the IP barons of Hollywood are any more likely to relent and give those Linux troublemakers any quarter than Microsoft is to GPL Windows 2000.)
BZZZZT, Wrong, please play again.
Copying is NOT ALWAYS stealing.
It is very well established that anyone can make a legal copy of anything they own for at least three purposes that I know of:
Backup (Especially software and data)
Time Shifting (Originally VCR/video and now MP3, etc.)
Fair Use (fuzzy, but legal use of clips, likeness, parody, reviews, etc.)
These rights supercede contracts and shinkwrap licenses in many or all cases.
As many people have said, we just want to play DVD's under Linux! My laptop is Linux; I don't want to have to reboot into Win98 land to play DVD's. In fact, because of VMWare, the only reason I have a 1GB partition on my HD is to play DVD's.
As an example of legal use of broken/pirated software, I have a software package that I paid $2000+ for, of my own money. The package is great, but it requires a precious dongle that can't be replaced and is quite annoying. After much searching, my friend found a cracked version of the software. I feel I am completely in my rights to use this cracked copy because I have not deprived the company of revenue.
Deprivation of revenue is a key deciding factor in much of copyright law. It can be abused and confused, especially controversial is the claim by many that they would never have purchased something (say Autocad) anyway so there is no harm. I can see both sides.
There are other interesting fair use rules. One that I was told a very long time ago, and have not verified, is that you are allowed to 'make and use' up to 10 copies of an invention for personal use. For paper clips this isn't that useful, but for RSA it may be. As it was described to me, this was part of the basic patent law authorization. (My understanding is that you can't sell an infringing product, probably can't use an infringing product if it is sold to you (maybe given also), but if you 'make' it yourself (from instructions?) you are ok.)
sdw
Stephen D. Williams
If the law keeps legitimate businesses/entitles (RedHat, Debian, &c.) from touching DeCSS with a ten-foot pole, legitimate hackers from working on it and signing their names to it, and adds the taint of criminality to it (always good to make people uneasy about using it; could have a back door, you know), it will have served its purpose.
The purpose is not to annihilate DeCSS (that's not possible), just to starve it of oxygen.
THen when it's anonymous, and no patch has any more reputation or credibility to it than any other, you can't trust it. When you don't know whether a patch is from Alan Cox, some script kiddie planting a trojan or an agent of Hollywood out to disrupt the process, you don't feel so confident about applying it.
My apologies if this goes a little off post.
When will the music/movie industry learn from the software industry when it comes to protecting digital information.
Its impossible, a bunch of engineers versus the combined effort of every hacker and cracker on the planet?
Teenagers are the main market for games software and the music industry. They had little cash in general but lots of time, and the crackers love the challenge, they break protections like some people do crosswords.
On a secondary note, I have just pirated a CD I'll admit it. My copy of PWEIs Cure for Sanity just bit the dust, because the chemicals in the black print layer have eaten the CD! So I ripped
a friends copy. As I was concerned I had a perfect
right to do this. And if I had needed an 'illegal' piece of software to get it to break some stupid protection to get at something I had paid for I'd have used it.
If there is one thing I have its paying £15 thats
nearly $25 for a CD which expires in 10 years due
faulty pressing. Can I take this back to the shop
for a replacement....? No.
So it now sits as a collection of MP3s on my HDD.
How am I going to feel in 10yrs when my copy of
the Matrix gives up the ghost for the same reason,
or similar reasons.
The rules are simple protections are ALWAYS broken
by someone some how, all they ever do is piss off the consumer.
UK consumers are sick to death of paying over the odds for CD and software despite the 1.6 dollar to the pound exchange rate, software music and videos seem to use a 1:1 ration in effect all are 60% more expensive than in the US. Its laughable that its cheaper to buy the MCSE training material
from amazon in the US and have all 2kilos of it airmailed to the UK!!
I'm tired of getting charged extra for where I live, can anyone provide any other reason for 'regionalised' DVD other than to charge different prices to different markets? If DeCSS allows me to watch grey-import dvds great!
I love being able to afford to buy orginal product these days now I can afford it. I also appreciate value for money, and not feeling I got ripped off.
Barry Wimlett at endless dot co dot uk
Check this... LinuxDVD
Right on!
Those posters didn't send 'illegal' source code to Slashdot, they posted links. Big difference.
Is there much difference. As part of the (recent) libel action involving Demon Internet, 11 customers had their news posting priviledges revoked because when they replied to a news posting they quoted part of the original news item which itself contained the url point to an an article archived on deja.com which was claimed to be libelous.
So in that case, posting a link to the offending item was counted as being equivalent to have actually posted the item itself.
/*
/* In order to ensure that the LFSR works we need to ensure that the
/* Feed the secret into the input values such that
/* This term is used throughout the following to
/* Now the actual blocks doing the encryption. Each
* Copyright (C) 1999 Derek Fawcus
*
* This code may be used under the terms of Version 2 of the GPL,
* read the file COPYING for details.
*
*/
/*
* These routines do some reordering of the supplied data before
* calling engine() to do the main work.
*
* The reordering seems similar to that done by the initial stages of
* the DES algorithm, in that it looks like it's just been done to
* try and make software decoding slower. I'm not sure that it
* actually adds anything to the security.
*
* The nature of the shuffling is that the bits of the supplied
* parameter 'varient' are reorganised (and some inverted), and
* the bytes of the parameter 'challenge' are reorganised.
*
* The reorganisation in each routine is different, and the first
* (CryptKey1) does not bother of play with the 'varient' parameter.
*
* Since this code is only run once per disk change, I've made the
* code table driven in order to improve readability.
*
* Since these routines are so similar to each other, one could even
* abstract them all to one routine supplied a parameter determining
* the nature of the reordering it has to do.
*/
#include "css-auth.h"
typedef unsigned long u32;
static void engine(int varient, byte const *input, struct block *output);
void CryptKey1(int varient, byte const *challenge, struct block *key)
{
static byte perm_challenge[] = {1,3,0,7,5, 2,9,6,4,8};
byte scratch[10];
int i;
for (i = 9; i >= 0; --i)
scratch[i] = challenge[perm_challenge[i]];
engine(varient, scratch, key);
}
/* This shuffles the bits in varient to make perm_varient such that
* 4 -> !3
* 3 -> 4
* varient bits: 2 -> 0 perm_varient bits
* 1 -> 2
* 0 -> !1
*/
void CryptKey2(int varient, byte const *challenge, struct block *key)
{
static byte perm_challenge[] = {6,1,9,3,8, 5,7,4,0,2};
static byte perm_varient[] = {
0x0a, 0x08, 0x0e, 0x0c, 0x0b, 0x09, 0x0f, 0x0d,
0x1a, 0x18, 0x1e, 0x1c, 0x1b, 0x19, 0x1f, 0x1d,
0x02, 0x00, 0x06, 0x04, 0x03, 0x01, 0x07, 0x05,
0x12, 0x10, 0x16, 0x14, 0x13, 0x11, 0x17, 0x15};
byte scratch[10];
int i;
for (i = 9; i >= 0; --i)
scratch[i] = challenge[perm_challenge[i]];
engine(perm_varient[varient], scratch, key);
}
/* This shuffles the bits in varient to make perm_varient such that
* 4 -> 0
* 3 -> !1
* varient bits: 2 -> !4 perm_varient bits
* 1 -> 2
* 0 -> 3
*/
void CryptBusKey(int varient, byte const *challenge, struct block *key)
{
static byte perm_challenge[] = {4,0,3,5,7, 2,8,6,1,9};
static byte perm_varient[] = {
0x12, 0x1a, 0x16, 0x1e, 0x02, 0x0a, 0x06, 0x0e,
0x10, 0x18, 0x14, 0x1c, 0x00, 0x08, 0x04, 0x0c,
0x13, 0x1b, 0x17, 0x1f, 0x03, 0x0b, 0x07, 0x0f,
0x11, 0x19, 0x15, 0x1d, 0x01, 0x09, 0x05, 0x0d};
byte scratch[10];
int i;
for (i = 9; i >= 0; --i)
scratch[i] = challenge[perm_challenge[i]];
engine(perm_varient[varient], scratch, key);
}
/*
* We use two LFSR's (seeded from some of the input data bytes) to
* generate two streams of pseudo-random bits. These two bit streams
* are then combined by simply adding with carry to generate a final
* sequence of pseudo-random bits which is stored in the buffer that
* 'output' points to the end of - len is the size of this buffer.
*
* The first LFSR is of degree 25, and has a polynomial of:
* x^13 + x^5 + x^4 + x^1 + 1
*
* The second LSFR is of degree 17, and has a (primitive) polynomial of:
* x^15 + x^1 + 1
*
* I don't know if these polynomials are primitive modulo 2, and thus
* represent maximal-period LFSR's.
*
*
* Note that we take the output of each LFSR from the new shifted in
* bit, not the old shifted out bit. Thus for ease of use the LFSR's
* are implemented in bit reversed order.
*
*/
static void generate_bits(byte *output, int len, struct block const *s)
{
u32 lfsr0, lfsr1;
byte carry;
* initial values are non-zero. Thus when we initialise them from
* the seed, we ensure that a bit is set.
*/
lfsr0 = (s->b[0] b[1] b[2] & ~7) b[2] & 7);
lfsr1 = (s->b[3] b[4];
++output;
carry = 0;
do {
int bit;
byte val;
for (bit = 0, val = 0; bit > 24) ^ (lfsr0 >> 21) ^ (lfsr0 >> 20) ^ (lfsr0 >> 12)) & 1;
lfsr0 = (lfsr0 > 16) ^ (lfsr1 >> 2)) & 1;
lfsr1 = (lfsr1 > 1) & 1)
combined = !o_lfsr1 + carry + !o_lfsr0;
carry = BIT1(combined);
val |= BIT0(combined) 0);
}
static byte Secret[];
static byte Varients[];
static byte Table0[];
static byte Table1[];
static byte Table2[];
static byte Table3[];
/*
* This encryption engine implements one of 32 variations
* one the same theme depending upon the choice in the
* varient parameter (0 - 31).
*
* The algorithm itself manipulates a 40 bit input into
* a 40 bit output.
* The parameter 'input' is 80 bits. It consists of
* the 40 bit input value that is to be encrypted followed
* by a 40 bit seed value for the pseudo random number
* generators.
*/
static void engine(int varient, byte const *input, struct block *output)
{
byte cse, term, index;
struct block temp1;
struct block temp2;
byte bits[30];
int i;
* we alter the seed to the LFSR's used above, then
* generate the bits to play with.
*/
for (i = 5; --i >= 0; )
temp1.b[i] = input[5 + i] ^ Secret[i] ^ Table2[i];
generate_bits(&bits[29], sizeof bits, &temp1);
* select one of 32 different variations on the
* algorithm.
*/
cse = Varients[varient] ^ Table2[varient];
* of these works on 40 bits at a time and are quite
* similar.
*/
for (i = 5, term = 0; --i >= 0; term = input[i]) {
index = bits[25 + i] ^ input[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
temp1.b[i] = Table2[index] ^ Table3[index] ^ term;
}
temp1.b[4] ^= temp1.b[0];
for (i = 5, term = 0; --i >= 0; term = temp1.b[i]) {
index = bits[20 + i] ^ temp1.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
temp2.b[i] = Table2[index] ^ Table3[index] ^ term;
}
temp2.b[4] ^= temp2.b[0];
for (i = 5, term = 0; --i >= 0; term = temp2.b[i]) {
index = bits[15 + i] ^ temp2.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
index = Table2[index] ^ Table3[index] ^ term;
temp1.b[i] = Table0[index] ^ Table2[index];
}
temp1.b[4] ^= temp1.b[0];
for (i = 5, term = 0; --i >= 0; term = temp1.b[i]) {
index = bits[10 + i] ^ temp1.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
index = Table2[index] ^ Table3[index] ^ term;
temp2.b[i] = Table0[index] ^ Table2[index];
}
temp2.b[4] ^= temp2.b[0];
for (i = 5, term = 0; --i >= 0; term = temp2.b[i]) {
index = bits[5 + i] ^ temp2.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
temp1.b[i] = Table2[index] ^ Table3[index] ^ term;
}
temp1.b[4] ^= temp1.b[0];
for (i = 5, term = 0; --i >= 0; term = temp1.b[i]) {
index = bits[i] ^ temp1.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
output->b[i] = Table2[index] ^ Table3[index] ^ term;
}
}
static byte Varients[] = {
0xB7, 0x74, 0x85, 0xD0, 0xCC, 0xDB, 0xCA, 0x73,
0x03, 0xFE, 0x31, 0x03, 0x52, 0xE0, 0xB7, 0x42,
0x63, 0x16, 0xF2, 0x2A, 0x79, 0x52, 0xFF, 0x1B,
0x7A, 0x11, 0xCA, 0x1A, 0x9B, 0x40, 0xAD, 0x01};
static byte Secret[] = {0x55, 0xD6, 0xC4, 0xC5, 0x28};
static byte Table0[] = {
0xB7, 0xF4, 0x82, 0x57, 0xDA, 0x4D, 0xDB, 0xE2,
0x2F, 0x52, 0x1A, 0xA8, 0x68, 0x5A, 0x8A, 0xFF,
0xFB, 0x0E, 0x6D, 0x35, 0xF7, 0x5C, 0x76, 0x12,
0xCE, 0x25, 0x79, 0x29, 0x39, 0x62, 0x08, 0x24,
0xA5, 0x85, 0x7B, 0x56, 0x01, 0x23, 0x68, 0xCF,
0x0A, 0xE2, 0x5A, 0xED, 0x3D, 0x59, 0xB0, 0xA9,
0xB0, 0x2C, 0xF2, 0xB8, 0xEF, 0x32, 0xA9, 0x40,
0x80, 0x71, 0xAF, 0x1E, 0xDE, 0x8F, 0x58, 0x88,
0xB8, 0x3A, 0xD0, 0xFC, 0xC4, 0x1E, 0xB5, 0xA0,
0xBB, 0x3B, 0x0F, 0x01, 0x7E, 0x1F, 0x9F, 0xD9,
0xAA, 0xB8, 0x3D, 0x9D, 0x74, 0x1E, 0x25, 0xDB,
0x37, 0x56, 0x8F, 0x16, 0xBA, 0x49, 0x2B, 0xAC,
0xD0, 0xBD, 0x95, 0x20, 0xBE, 0x7A, 0x28, 0xD0,
0x51, 0x64, 0x63, 0x1C, 0x7F, 0x66, 0x10, 0xBB,
0xC4, 0x56, 0x1A, 0x04, 0x6E, 0x0A, 0xEC, 0x9C,
0xD6, 0xE8, 0x9A, 0x7A, 0xCF, 0x8C, 0xDB, 0xB1,
0xEF, 0x71, 0xDE, 0x31, 0xFF, 0x54, 0x3E, 0x5E,
0x07, 0x69, 0x96, 0xB0, 0xCF, 0xDD, 0x9E, 0x47,
0xC7, 0x96, 0x8F, 0xE4, 0x2B, 0x59, 0xC6, 0xEE,
0xB9, 0x86, 0x9A, 0x64, 0x84, 0x72, 0xE2, 0x5B,
0xA2, 0x96, 0x58, 0x99, 0x50, 0x03, 0xF5, 0x38,
0x4D, 0x02, 0x7D, 0xE7, 0x7D, 0x75, 0xA7, 0xB8,
0x67, 0x87, 0x84, 0x3F, 0x1D, 0x11, 0xE5, 0xFC,
0x1E, 0xD3, 0x83, 0x16, 0xA5, 0x29, 0xF6, 0xC7,
0x15, 0x61, 0x29, 0x1A, 0x43, 0x4F, 0x9B, 0xAF,
0xC5, 0x87, 0x34, 0x6C, 0x0F, 0x3B, 0xA8, 0x1D,
0x45, 0x58, 0x25, 0xDC, 0xA8, 0xA3, 0x3B, 0xD1,
0x79, 0x1B, 0x48, 0xF2, 0xE9, 0x93, 0x1F, 0xFC,
0xDB, 0x2A, 0x90, 0xA9, 0x8A, 0x3D, 0x39, 0x18,
0xA3, 0x8E, 0x58, 0x6C, 0xE0, 0x12, 0xBB, 0x25,
0xCD, 0x71, 0x22, 0xA2, 0x64, 0xC6, 0xE7, 0xFB,
0xAD, 0x94, 0x77, 0x04, 0x9A, 0x39, 0xCF, 0x7C};
static byte Table1[] = {
0x8C, 0x47, 0xB0, 0xE1, 0xEB, 0xFC, 0xEB, 0x56,
0x10, 0xE5, 0x2C, 0x1A, 0x5D, 0xEF, 0xBE, 0x4F,
0x08, 0x75, 0x97, 0x4B, 0x0E, 0x25, 0x8E, 0x6E,
0x39, 0x5A, 0x87, 0x53, 0xC4, 0x1F, 0xF4, 0x5C,
0x4E, 0xE6, 0x99, 0x30, 0xE0, 0x42, 0x88, 0xAB,
0xE5, 0x85, 0xBC, 0x8F, 0xD8, 0x3C, 0x54, 0xC9,
0x53, 0x47, 0x18, 0xD6, 0x06, 0x5B, 0x41, 0x2C,
0x67, 0x1E, 0x41, 0x74, 0x33, 0xE2, 0xB4, 0xE0,
0x23, 0x29, 0x42, 0xEA, 0x55, 0x0F, 0x25, 0xB4,
0x24, 0x2C, 0x99, 0x13, 0xEB, 0x0A, 0x0B, 0xC9,
0xF9, 0x63, 0x67, 0x43, 0x2D, 0xC7, 0x7D, 0x07,
0x60, 0x89, 0xD1, 0xCC, 0xE7, 0x94, 0x77, 0x74,
0x9B, 0x7E, 0xD7, 0xE6, 0xFF, 0xBB, 0x68, 0x14,
0x1E, 0xA3, 0x25, 0xDE, 0x3A, 0xA3, 0x54, 0x7B,
0x87, 0x9D, 0x50, 0xCA, 0x27, 0xC3, 0xA4, 0x50,
0x91, 0x27, 0xD4, 0xB0, 0x82, 0x41, 0x97, 0x79,
0x94, 0x82, 0xAC, 0xC7, 0x8E, 0xA5, 0x4E, 0xAA,
0x78, 0x9E, 0xE0, 0x42, 0xBA, 0x28, 0xEA, 0xB7,
0x74, 0xAD, 0x35, 0xDA, 0x92, 0x60, 0x7E, 0xD2,
0x0E, 0xB9, 0x24, 0x5E, 0x39, 0x4F, 0x5E, 0x63,
0x09, 0xB5, 0xFA, 0xBF, 0xF1, 0x22, 0x55, 0x1C,
0xE2, 0x25, 0xDB, 0xC5, 0xD8, 0x50, 0x03, 0x98,
0xC4, 0xAC, 0x2E, 0x11, 0xB4, 0x38, 0x4D, 0xD0,
0xB9, 0xFC, 0x2D, 0x3C, 0x08, 0x04, 0x5A, 0xEF,
0xCE, 0x32, 0xFB, 0x4C, 0x92, 0x1E, 0x4B, 0xFB,
0x1A, 0xD0, 0xE2, 0x3E, 0xDA, 0x6E, 0x7C, 0x4D,
0x56, 0xC3, 0x3F, 0x42, 0xB1, 0x3A, 0x23, 0x4D,
0x6E, 0x84, 0x56, 0x68, 0xF4, 0x0E, 0x03, 0x64,
0xD0, 0xA9, 0x92, 0x2F, 0x8B, 0xBC, 0x39, 0x9C,
0xAC, 0x09, 0x5E, 0xEE, 0xE5, 0x97, 0xBF, 0xA5,
0xCE, 0xFA, 0x28, 0x2C, 0x6D, 0x4F, 0xEF, 0x77,
0xAA, 0x1B, 0x79, 0x8E, 0x97, 0xB4, 0xC3, 0xF4};
static byte Table2[] = {
0xB7, 0x75, 0x81, 0xD5, 0xDC, 0xCA, 0xDE, 0x66,
0x23, 0xDF, 0x15, 0x26, 0x62, 0xD1, 0x83, 0x77,
0xE3, 0x97, 0x76, 0xAF, 0xE9, 0xC3, 0x6B, 0x8E,
0xDA, 0xB0, 0x6E, 0xBF, 0x2B, 0xF1, 0x19, 0xB4,
0x95, 0x34, 0x48, 0xE4, 0x37, 0x94, 0x5D, 0x7B,
0x36, 0x5F, 0x65, 0x53, 0x07, 0xE2, 0x89, 0x11,
0x98, 0x85, 0xD9, 0x12, 0xC1, 0x9D, 0x84, 0xEC,
0xA4, 0xD4, 0x88, 0xB8, 0xFC, 0x2C, 0x79, 0x28,
0xD8, 0xDB, 0xB3, 0x1E, 0xA2, 0xF9, 0xD0, 0x44,
0xD7, 0xD6, 0x60, 0xEF, 0x14, 0xF4, 0xF6, 0x31,
0xD2, 0x41, 0x46, 0x67, 0x0A, 0xE1, 0x58, 0x27,
0x43, 0xA3, 0xF8, 0xE0, 0xC8, 0xBA, 0x5A, 0x5C,
0x80, 0x6C, 0xC6, 0xF2, 0xE8, 0xAD, 0x7D, 0x04,
0x0D, 0xB9, 0x3C, 0xC2, 0x25, 0xBD, 0x49, 0x63,
0x8C, 0x9F, 0x51, 0xCE, 0x20, 0xC5, 0xA1, 0x50,
0x92, 0x2D, 0xDD, 0xBC, 0x8D, 0x4F, 0x9A, 0x71,
0x2F, 0x30, 0x1D, 0x73, 0x39, 0x13, 0xFB, 0x1A,
0xCB, 0x24, 0x59, 0xFE, 0x05, 0x96, 0x57, 0x0F,
0x1F, 0xCF, 0x54, 0xBE, 0xF5, 0x06, 0x1B, 0xB2,
0x6D, 0xD3, 0x4D, 0x32, 0x56, 0x21, 0x33, 0x0B,
0x52, 0xE7, 0xAB, 0xEB, 0xA6, 0x74, 0x00, 0x4C,
0xB1, 0x7F, 0x82, 0x99, 0x87, 0x0E, 0x5E, 0xC0,
0x8F, 0xEE, 0x6F, 0x55, 0xF3, 0x7E, 0x08, 0x90,
0xFA, 0xB6, 0x64, 0x70, 0x47, 0x4A, 0x17, 0xA7,
0xB5, 0x40, 0x8A, 0x38, 0xE5, 0x68, 0x3E, 0x8B,
0x69, 0xAA, 0x9B, 0x42, 0xA5, 0x10, 0x01, 0x35,
0xFD, 0x61, 0x9E, 0xE6, 0x16, 0x9C, 0x86, 0xED,
0xCD, 0x2E, 0xFF, 0xC4, 0x5B, 0xA0, 0xAE, 0xCC,
0x4B, 0x3B, 0x03, 0xBB, 0x1C, 0x2A, 0xAC, 0x0C,
0x3F, 0x93, 0xC7, 0x72, 0x7A, 0x09, 0x22, 0x3D,
0x45, 0x78, 0xA9, 0xA8, 0xEA, 0xC9, 0x6A, 0xF7,
0x29, 0x91, 0xF0, 0x02, 0x18, 0x3A, 0x4E, 0x7C};
static byte Table3[] = {
0x73, 0x51, 0x95, 0xE1, 0x12, 0xE4, 0xC0, 0x58,
0xEE, 0xF2, 0x08, 0x1B, 0xA9, 0xFA, 0x98, 0x4C,
0xA7, 0x33, 0xE2, 0x1B, 0xA7, 0x6D, 0xF5, 0x30,
0x97, 0x1D, 0xF3, 0x02, 0x60, 0x5A, 0x82, 0x0F,
0x91, 0xD0, 0x9C, 0x10, 0x39, 0x7A, 0x83, 0x85,
0x3B, 0xB2, 0xB8, 0xAE, 0x0C, 0x09, 0x52, 0xEA,
0x1C, 0xE1, 0x8D, 0x66, 0x4F, 0xF3, 0xDA, 0x92,
0x29, 0xB9, 0xD5, 0xC5, 0x77, 0x47, 0x22, 0x53,
0x14, 0xF7, 0xAF, 0x22, 0x64, 0xDF, 0xC6, 0x72,
0x12, 0xF3, 0x75, 0xDA, 0xD7, 0xD7, 0xE5, 0x02,
0x9E, 0xED, 0xDA, 0xDB, 0x4C, 0x47, 0xCE, 0x91,
0x06, 0x06, 0x6D, 0x55, 0x8B, 0x19, 0xC9, 0xEF,
0x8C, 0x80, 0x1A, 0x0E, 0xEE, 0x4B, 0xAB, 0xF2,
0x08, 0x5C, 0xE9, 0x37, 0x26, 0x5E, 0x9A, 0x90,
0x00, 0xF3, 0x0D, 0xB2, 0xA6, 0xA3, 0xF7, 0x26,
0x17, 0x48, 0x88, 0xC9, 0x0E, 0x2C, 0xC9, 0x02,
0xE7, 0x18, 0x05, 0x4B, 0xF3, 0x39, 0xE1, 0x20,
0x02, 0x0D, 0x40, 0xC7, 0xCA, 0xB9, 0x48, 0x30,
0x57, 0x67, 0xCC, 0x06, 0xBF, 0xAC, 0x81, 0x08,
0x24, 0x7A, 0xD4, 0x8B, 0x19, 0x8E, 0xAC, 0xB4,
0x5A, 0x0F, 0x73, 0x13, 0xAC, 0x9E, 0xDA, 0xB6,
0xB8, 0x96, 0x5B, 0x60, 0x88, 0xE1, 0x81, 0x3F,
0x07, 0x86, 0x37, 0x2D, 0x79, 0x14, 0x52, 0xEA,
0x73, 0xDF, 0x3D, 0x09, 0xC8, 0x25, 0x48, 0xD8,
0x75, 0x60, 0x9A, 0x08, 0x27, 0x4A, 0x2C, 0xB9,
0xA8, 0x8B, 0x8A, 0x73, 0x62, 0x37, 0x16, 0x02,
0xBD, 0xC1, 0x0E, 0x56, 0x54, 0x3E, 0x14, 0x5F,
0x8C, 0x8F, 0x6E, 0x75, 0x1C, 0x07, 0x39, 0x7B,
0x4B, 0xDB, 0xD3, 0x4B, 0x1E, 0xC8, 0x7E, 0xFE,
0x3E, 0x72, 0x16, 0x83, 0x7D, 0xEE, 0xF5, 0xCA,
0xC5, 0x18, 0xF9, 0xD8, 0x68, 0xAB, 0x38, 0x85,
0xA8, 0xF0, 0xA1, 0x73, 0x9F, 0x5D, 0x19, 0x0B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x33, 0x72, 0x39, 0x25, 0x67, 0x26, 0x6D, 0x71,
0x36, 0x77, 0x3C, 0x20, 0x62, 0x23, 0x68, 0x74,
0xC3, 0x82, 0xC9, 0x15, 0x57, 0x16, 0x5D, 0x81};
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C) 19yy
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
Then the judge in question was a fool.
...."
Posting a link to a file is no different than saying "Go downtown, on the southside, to get drugs" or "Go to Russia, to Uzbeckistan, for nukes", or "So and So's book, _blah_ is banned in your country, but it's a good read, order it from Amazon, ISBN
Simply mentioning the existance of something 'illegal' can't be a 'crime' except in certain cases... If you wrote something 'illegal' in your home country, then shipped it off to a friend where it is legal, but linked to it, a judge might rule that it was still a problem, but if you didn't put the file there...
That's about as illegal as saying "Bob got arrested for drug dealing, his number is #..." and letting someone call him. Especially because if you gave someone a search engine link "Search for foo.bar at google.com" you're not even linking to the file, just someone who knows how to get the file...
Anyways. That British case involved slander or libel, and the British laws are stupid, truth isn't a defense, so no doubt the rest of their laws are boneheaded too. (Imagine, if Hitler came back to life and went to Britain, he could sue them all for Libel for saying he was a murderer...)
/*
, 0x36,0x2b,0x6e,0x2e,0x66,0x7b, , 0xd6,0x0b,0x4e,0x0e,0x46,0x9b, , 0x52,0x8f,0xca,0x8a,0xc2,0x1f, , 0xd0,0x01,0x48,0x08,0x40,0x91, , 0x34,0x25,0x6c,0x2c,0x64,0x75, , 0xd4,0x05,0x4c,0x0c,0x44,0x95, , 0x50,0x81,0xc8,0x88,0xc0,0x11, , 0xd2,0x0f,0x4a,0x0a,0x42,0x9f, , 0x56,0x8b,0xce,0x8e,0xc6,0x1b, , 0xb6,0xab,0xee,0xae,0xe6,0xfb, , 0x32,0x2f,0x6a,0x2a,0x62,0x7f, , 0xb0,0xa1,0xe8,0xa8,0xe0,0xf1, , 0x54,0x85,0xcc,0x8c,0xc4,0x15, , 0xb4,0xa5,0xec,0xac,0xe4,0xf5, , 0x30,0x21,0x68,0x28,0x60,0x71, , 0xb2,0xaf,0xea,0xaa,0xe2,0xff
, 0x0b,0x0a,0x0d,0x0c,0x0f,0x0e, , 0x19,0x18,0x1f,0x1e,0x1d,0x1c, , 0x2f,0x2e,0x29,0x28,0x2b,0x2a, , 0x3d,0x3c,0x3b,0x3a,0x39,0x38, , 0x42,0x43,0x44,0x45,0x46,0x47, , 0x50,0x51,0x56,0x57,0x54,0x55, , 0x66,0x67,0x60,0x61,0x62,0x63, , 0x74,0x75,0x72,0x73,0x70,0x71, , 0x99,0x98,0x9f,0x9e,0x9d,0x9c, , 0x8b,0x8a,0x8d,0x8c,0x8f,0x8e, , 0xbd,0xbc,0xbb,0xba,0xb9,0xb8, , 0xaf,0xae,0xa9,0xa8,0xab,0xaa, , 0xd0,0xd1,0xd6,0xd7,0xd4,0xd5, , 0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, , 0xf4,0xf5,0xf2,0xf3,0xf0,0xf1, , 0xe6,0xe7,0xe0,0xe1,0xe2,0xe3
, 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff, , 0x49,0x6d,0x92,0xb6,0xdb,0xff
, 0x50,0xd0,0x30,0xb0,0x70,0xf0, , 0x58,0xd8,0x38,0xb8,0x78,0xf8, , 0x54,0xd4,0x34,0xb4,0x74,0xf4, , 0x5c,0xdc,0x3c,0xbc,0x7c,0xfc, , 0x52,0xd2,0x32,0xb2,0x72,0xf2, , 0x5a,0xda,0x3a,0xba,0x7a,0xfa, , 0x56,0xd6,0x36,0xb6,0x76,0xf6, , 0x5e,0xde,0x3e,0xbe,0x7e,0xfe, , 0x51,0xd1,0x31,0xb1,0x71,0xf1, , 0x59,0xd9,0x39,0xb9,0x79,0xf9, , 0x55,0xd5,0x35,0xb5,0x75,0xf5, , 0x5d,0xdd,0x3d,0xbd,0x7d,0xfd, , 0x53,0xd3,0x33,0xb3,0x73,0xf3, , 0x5b,0xdb,0x3b,0xbb,0x7b,0xfb, , 0x57,0xd7,0x37,0xb7,0x77,0xf7, , 0x5f,0xdf,0x3f,0xbf,0x7f,0xff
1 9);*/ ;
1 9);*/ ;
* css_descramble.c
*
* Released under the version 2 of the GPL.
*
* Copyright 1999 Derek Fawcus
*
* This file contains functions to descramble CSS encrypted DVD content
*
*/
/*
* Still in progress: Remove the use of the bit_reverse[] table by recoding
* the generation of LFSR1. Finish combining this with
* the css authentication code.
*
*/
#include
#include
#include "css-descramble.h"
typedef unsigned char byte;
/*
*
* some tables used for descrambling sectors and/or decrypting title keys
*
*/
static byte csstab1[256]=
{
0x33,0x73,0x3b,0x26,0x63,0x23,0x6b,0x76,0x3e,0x7e
0xd3,0x93,0xdb,0x06,0x43,0x03,0x4b,0x96,0xde,0x9e
0x57,0x17,0x5f,0x82,0xc7,0x87,0xcf,0x12,0x5a,0x1a
0xd9,0x99,0xd1,0x00,0x49,0x09,0x41,0x90,0xd8,0x98
0x3d,0x7d,0x35,0x24,0x6d,0x2d,0x65,0x74,0x3c,0x7c
0xdd,0x9d,0xd5,0x04,0x4d,0x0d,0x45,0x94,0xdc,0x9c
0x59,0x19,0x51,0x80,0xc9,0x89,0xc1,0x10,0x58,0x18
0xd7,0x97,0xdf,0x02,0x47,0x07,0x4f,0x92,0xda,0x9a
0x53,0x13,0x5b,0x86,0xc3,0x83,0xcb,0x16,0x5e,0x1e
0xb3,0xf3,0xbb,0xa6,0xe3,0xa3,0xeb,0xf6,0xbe,0xfe
0x37,0x77,0x3f,0x22,0x67,0x27,0x6f,0x72,0x3a,0x7a
0xb9,0xf9,0xb1,0xa0,0xe9,0xa9,0xe1,0xf0,0xb8,0xf8
0x5d,0x1d,0x55,0x84,0xcd,0x8d,0xc5,0x14,0x5c,0x1c
0xbd,0xfd,0xb5,0xa4,0xed,0xad,0xe5,0xf4,0xbc,0xfc
0x39,0x79,0x31,0x20,0x69,0x29,0x61,0x70,0x38,0x78
0xb7,0xf7,0xbf,0xa2,0xe7,0xa7,0xef,0xf2,0xba,0xfa
};
static byte lfsr1_bits0[256]=
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x09,0x08
0x12,0x13,0x10,0x11,0x16,0x17,0x14,0x15,0x1b,0x1a
0x24,0x25,0x26,0x27,0x20,0x21,0x22,0x23,0x2d,0x2c
0x36,0x37,0x34,0x35,0x32,0x33,0x30,0x31,0x3f,0x3e
0x49,0x48,0x4b,0x4a,0x4d,0x4c,0x4f,0x4e,0x40,0x41
0x5b,0x5a,0x59,0x58,0x5f,0x5e,0x5d,0x5c,0x52,0x53
0x6d,0x6c,0x6f,0x6e,0x69,0x68,0x6b,0x6a,0x64,0x65
0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x76,0x77
0x92,0x93,0x90,0x91,0x96,0x97,0x94,0x95,0x9b,0x9a
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x89,0x88
0xb6,0xb7,0xb4,0xb5,0xb2,0xb3,0xb0,0xb1,0xbf,0xbe
0xa4,0xa5,0xa6,0xa7,0xa0,0xa1,0xa2,0xa3,0xad,0xac
0xdb,0xda,0xd9,0xd8,0xdf,0xde,0xdd,0xdc,0xd2,0xd3
0xc9,0xc8,0xcb,0xca,0xcd,0xcc,0xcf,0xce,0xc0,0xc1
0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf6,0xf7
0xed,0xec,0xef,0xee,0xe9,0xe8,0xeb,0xea,0xe4,0xe5
};
static byte lfsr1_bits1[512]=
{
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24
};
/* Reverse the order of the bits within a byte.
*/
static byte bit_reverse[256]=
{
0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90
0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98
0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94
0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c
0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92
0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a
0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96
0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e
0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91
0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99
0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95
0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d
0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93
0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b
0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97
0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f
};
/*
*
* this function is only used internally when decrypting title key
*
*/
static void css_titlekey(byte *key, byte *im, byte invert)
{
unsigned int lfsr1_lo,lfsr1_hi,lfsr0,combined;
byte o_lfsr0, o_lfsr1;
byte k[5];
int i;
lfsr1_lo = im[0] | 0x100;
lfsr1_hi = im[1];
lfsr0 = ((im[4] >8)&0xff] >16)&0xff]>24)&0xff];
combined = 0;
for (i = 0; i >1;
lfsr1_lo = ((lfsr1_lo&1)>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>
o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7)
lfsr0 = (lfsr0>>8)|(o_lfsr0>= 8;
}
key[4]=k[4]^csstab1[key[4]]^key[3];
key[3]=k[3]^csstab1[key[3]]^key[2];
key[2]=k[2]^csstab1[key[2]]^key[1];
key[1]=k[1]^csstab1[key[1]]^key[0];
key[0]=k[0]^csstab1[key[0]]^key[4];
key[4]=k[4]^csstab1[key[4]]^key[3];
key[3]=k[3]^csstab1[key[3]]^key[2];
key[2]=k[2]^csstab1[key[2]]^key[1];
key[1]=k[1]^csstab1[key[1]]^key[0];
key[0]=k[0]^csstab1[key[0]];
}
/*
*
* this function decrypts a title key with the specified disk key
*
* tkey: the unobfuscated title key (XORed with BusKey)
* dkey: the unobfuscated disk key (XORed with BusKey)
* 2048 bytes in length (though only 5 bytes are needed, see below)
* pkey: array of pointers to player keys and disk key offsets
*
*
* use the result returned in tkey with css_descramble
*
*/
int css_decrypttitlekey(byte *tkey, byte *dkey, struct playkey **pkey)
{
byte test[5], pretkey[5];
int i = 0;
for (; *pkey; ++pkey, ++i) {
memcpy(pretkey, dkey + (*pkey)->offset, 5);
css_titlekey(pretkey, (*pkey)->key, 0);
memcpy(test, dkey, 5);
css_titlekey(test, pretkey, 0);
if (memcmp(test, pretkey, 5) == 0) {
fprintf(stderr, "Using Key %d\n", i+1);
break;
}
}
if (!*pkey) {
fprintf(stderr, "Shit - Need Key %d\n", i+1);
return 0;
}
css_titlekey(tkey, pretkey, 0xff);
return 1;
}
/*
*
* this function does the actual descrambling
*
* sec: encrypted sector (2048 bytes)
* key: decrypted title key obtained from css_decrypttitlekey
*
*/
void css_descramble(byte *sec,byte *key)
{
unsigned int lfsr1_lo,lfsr1_hi,lfsr0,combined;
unsigned char o_lfsr0, o_lfsr1;
unsigned char *end = sec + 0x800;
#define SALTED(i) (key[i] ^ sec[0x54 + (i)])
lfsr1_lo = SALTED(0) | 0x100;
lfsr1_hi = SALTED(1);
lfsr0 = ((SALTED(4) >8)&0xff] >16)&0xff]>24)&0xff];
sec+=0x80;
combined = 0;
while (sec != end) {
o_lfsr1 = lfsr1_bits0[lfsr1_hi] ^ lfsr1_bits1[lfsr1_lo];
lfsr1_hi = lfsr1_lo>>1;
lfsr1_lo = ((lfsr1_lo&1)>7)^(lfsr0>>10)^(lfsr0>>11)^(lfsr0>>
o_lfsr0 = (((((((lfsr0>>8)^lfsr0)>>1)^lfsr0)>>3)^lfsr0)>>7)
lfsr0 = (lfsr0>>8)|(o_lfsr0>= 8;
}
}
Explanation on legality of this information:
The software (source as well as binaries) offered on this site can be freely redistributed. It was written by authors who expressly permitted and encourage the redistribution of this software and information. The purpose of this software is not, I repeat not illegal copying of DVD disks. It is meant to provide information neccesary to be able to program a DVD player for Linux. To do this, the CSS system needs to be incorporated in the player. Recently the (very weak) content scrambling system was deciphered, freeing the way for a Linux DVD player. The CSS system is not a copy protection system, since it does not prevent copying of the disk. Writing information about the way a certain protection scheme functions is completely legal. The source code and binaries on this site are completely legal too, since they contain no code from the DVD consortium or one of its members. The sources and programs on this site are purely written by 3rd parties using clean-room reverse engineering methods, which is, again, completely legal. This software and information below make it possible for people who legally obtained their DVD movies to view them on their Linux systems.
Attention
www.rhythm.cx was hosting a list of mirrors for these files. That list of mirrors has been replaced with a page reading "This site has been taken down for legal reasons." Here's what the maintainer put on the site the day it was shut down:
NOTE (Thu, Nov 11, 12:17pm EST): I've recently been informed that a law firm which is likely to be one that would try get these mirrors taken down has been visiting this mirror site as well as others. With that said, there is a possibility that I may have to remove this site in the near future because like everyone else, I can't afford to go to court to fight it. Luckly, it seems fairly unlikely that any law firm will ever be able to get rid of all these mirrors at this point (there are currently 41 in 8 different countries and this list is growing every day). However, I have only seen very few mirror _lists_ like this one anyplace. If anyone has the resources, it might be wise to mirror this list of mirrors as well so that the right people will still know that these mirrors exist.
UPDATE: Here is a 2600 story with more details on how rhythm.cx was shut down.
I have taken it upon myself to mirror the mirrors. So until such time as the hounds of hell come a-knocking at my door, I present for you this list:
Page last updated: Sat, Nov 13, 4:50pm EST
Current Mirrors
(Numbers are only for the maintainer's convenience)
This site contains some good technical documentation as well as more source code that the DVD consorium's lawyers would rather you not see:
http://crypto.gq.nu/
Semi-broken Mirrors
(These mirrors sometimes work and sometimes don't)
ftp://134.173.94.44/
Broken Mirrors
(These are listed here for the notification of the people who run them)
http://members.theglobe.com/avoiderman/css-auth.t
Mirrors shut down by The Man
(A moment of silence, please.)
http://www.rhythm.cx/dvd/css-auth.tar.gz and http://www.rhythm.cx/dvd/DeCSS.zip
http://dvdcracked.tvheaven.com/index.html
Say no to software patents.