Slashdot Mirror


After DeCSS, DVD Jon Releases DeDRMS

An anonymous reader writes "Jon Lech Johansen, who reverse engineered FairPlay back in January, and wrote the decryption code that was later used by an anonymous developer to create the playfair utility, has released a similar utility: DeDRMS. It's only 230 lines. T-shirts anyone?"

163 of 610 comments (clear)

  1. Curious how he wrote it in C#. by brunes69 · · Score: 5, Interesting

    Not that I have anything against C#, I actually find it quite nice, just stuck me as odd that someone would write a cracking toolin it. These things are traditionally written in C ( for speed ).... like DeCSS was.

    1. Re:Curious how he wrote it in C#. by Rikus · · Score: 4, Informative

      I'm guessing it will be rewriten by plenty of people in various different languages. C, perl, python... fortran77?
      I don't even have a C# compiler.

    2. Re:Curious how he wrote it in C#. by harlows_monkeys · · Score: 4, Informative
      These things are traditionally written in C ( for speed )

      You are assuming that C# is slow. That is not a good assumption.

    3. Re:Curious how he wrote it in C#. by sosume · · Score: 4, Informative

      Since this code is easily converted to c++ (or VB) using one of the various tools available, this won't gain much or any speed under .NET.

      BTW he *could* have included some comments ;)

    4. Re:Curious how he wrote it in C#. by Deraj+DeZine · · Score: 5, Funny

      Maybe Microsoft sponsored his efforts to screw over Apple?

      --
      True story.
    5. Re:Curious how he wrote it in C#. by Anonymous Coward · · Score: 5, Funny

      You are implying it is. That is not a good implication.

    6. Re:Curious how he wrote it in C#. by Anonymous Coward · · Score: 5, Informative
      I was able to access the README before the server went down:

      Compiling:

      * With MonoDevelop [1]: Open DeDRMS.cmbx and click F8.
      * With mcs [2]: mcs -out:DeDRMS.exe *.cs
      * With csc [3]: csc /out:DeDRMS.exe *.cs

      [1] http://www.monodevelop.org
      [2] http://www.go-mono.com
      [3] http://msdn.microsoft.com/netframework/technologyi nfo/howtoget/

      Usage:

      * DeDRMS.exe file.m4p

      Notes:

      DeDRMS requires that you already have the user key file(s) for
      your files. The user key file(s) can be generated by playing
      your files with the VideoLAN Client [1][2].

      DeDRMS does not remove the UserID, name and email address.
      The purpose of DeDRMS is to enable Fair Use, not facilitate
      copyright infringement.

      [1] http://www.videolan.org/vlc/
      [2] http://wiki.videolan.org/tiki-read_article.php?art icleId=5
    7. Re:Curious how he wrote it in C#. by Anonymous Coward · · Score: 3, Informative

      Things like that were traditionally written in C because it's easy to manipulate memory and pointers, which is useful for making things like encryption/decryption easier to write.

    8. Re:Curious how he wrote it in C#. by Deraj+DeZine · · Score: 2, Insightful

      No, not insightful.

      Funny.

      --
      True story.
    9. Re:Curious how he wrote it in C#. by Sam+H · · Score: 5, Informative

      Using C# makes sense to me. It provides Rijndael and MD5 in System.Security.Cryptography out of the box. These cypher and hash algorithms are at the core of the DRMS encryption scheme. The same code in C would either use obscure libraries or 1000 extra lines of code.

      --
      God, root, what is difference ?
    10. Re:Curious how he wrote it in C#. by t_pet422 · · Score: 5, Informative

      I don't even have a C# compiler.

      Install the .NET Framework (run Windows Update). It will install one at %WINDIR%\Microsoft.NET\Framework\v1.1.4322\csc.exe
      You can compile this with csc /out:DrDRMS.exe *.cs

    11. Re:Curious how he wrote it in C#. by lambent · · Score: 3, Insightful

      That's the same exact thing. Those crypto functions are included in C# as either extra libraries or 1000 extra lines of code.

      It's not magical, or fundamentally different in any way.

    12. Re:Curious how he wrote it in C#. by Anonymous Coward · · Score: 3, Informative

      No, the libraries are not "extra" -- it's impossible to get .NET without them. In fact .NET itself relies on the crypto stuff.

    13. Re:Curious how he wrote it in C#. by mibus · · Score: 2, Insightful

      The majority of the work looks like it's done in the Win32 CryptoAPI anyway, which would most likely be C++.

      So whether it's C++ or C# or C is pretty moot.

      (Actually someone posted the source above in a comment, looks pretty clean! Without having used C# or .NET at all before I think I have a pretty good idea of how the program does its magic). That to me is a decent sign of a decent language / API, which is often more important than speed.

    14. Re:Curious how he wrote it in C#. by Anonymous Coward · · Score: 5, Funny

      I don't think my Slackware came with Windows Update. Where can I download it?

    15. Re:Curious how he wrote it in C#. by omicronish · · Score: 4, Informative

      Install the .NET Framework (run Windows Update). It will install one at %WINDIR%\Microsoft.NET\Framework\v1.1.4322\csc.exe You can compile this with csc /out:DrDRMS.exe *.cs

      And if you're on Linux, you can download Mono and compile with mcs DeDRMS.cs.

    16. Re:Curious how he wrote it in C#. by solid · · Score: 3, Interesting

      I don't know about that, but I have in fact done testing and C# is slower at almost everything when compared to C/C++ and it gets really bad at the high end.

      I don't know what 'benchmarks' you used to come up with that conclusion. There was a previous /. post about programming language benchmarks and the study's results are nicely tabulated.

      In this study, C# came in 2nd place overall among many common programming languages, after VC++. It even destroyed gcc C in trig calculations, though, got slaughtered by gcc C's 'double' math tests.

      Even with that said, the difference in speed between C# and VC++ for DeDRMS decryption on a reasonably new computer would be so small that the time taken to port the code from C# to any other language would be better spend picking you nose.

    17. Re:Curious how he wrote it in C#. by Anonymous Coward · · Score: 2, Informative
      It's not a cracking tool. You have to have a legitimate copy of the song from iTunes. That is, if you haven't paid for the song this tool does you no good. It just removes the DRMS protection from something you've legitimately paid for. Hurrah.

      One thing I noted in looking at the two files in iTunes: The file was still flagged with my email address, but no longer had my name under "Purchased by"... It looks like the file is still tracable to the account that bought it. Take that into account before sharing them. It shouldn't take much work to fix that last bit, and it would be a worthy addition to this program.

    18. Re:Curious how he wrote it in C#. by iamacat · · Score: 2, Insightful

      And for the most obvious users running MacOSX the answer is...?

    19. Re:Curious how he wrote it in C#. by Shakrai · · Score: 2, Insightful
      One thing I noted in looking at the two files in iTunes: The file was still flagged with my email address, but no longer had my name under "Purchased by"... It looks like the file is still tracable to the account that bought it. Take that into account before sharing them. It shouldn't take much work to fix that last bit, and it would be a worthy addition to this program.

      Worthy addition to this program? Why the hell is that? As it stands this program is for fair use. There's no reason to remove your e-mail address tag from the file unless you want to share it with others. And despite what many people seem to think sharing your music with the entire World on Kazaa or IRC is not fair use.

      Gosh it's actually respectable as it stands right now. Why don't we go and flush that down the toilet and make it about piracy?

      --
      I want peace on earth and goodwill toward man.
      We are the United States Government! We don't do that sort of thing.
    20. Re:Curious how he wrote it in C#. by Anonymous Coward · · Score: 3, Informative

      I think mono is available from fink (or in the process of being made available).

      There is also rotor from Microsoft, which is supposed to compile under MacOS X.

    21. Re:Curious how he wrote it in C#. by Cthefuture · · Score: 5, Interesting

      Thanks for the link. I always like to look at what other people have tried. However, I highly doubt those results. Besides, C++ still came out on top.. eh?

      For one thing they don't really test anything useful as the tests are just tight loops of very basic math stuff. His C code doesn't even compile with the VC++ compiler because he's using C99 syntax (Microsoft's compiler is not C99 compliant). And even when I fixed those problems there where a lot of warnings due to questionable variable usage. The C++ version isn't even written in C++, I wonder why there are even two separate files. Not a good start and makes me seriously question this programmers abilities.

      Just a quick glance at the code suggests at least the trig benchmarks are more a test of the standard math library rather than the language. C# is going to use the same version as C/C++.

      His timing methods are also questionable. Using CPU time can be highly inaccurate. It's much better to use the high precision timing functions.

      I will need to take a more detailed look and do some testing of my own to see if these results are valid. Off the top of my head I will say there seems to be something screwy going on because I've never seen properly written code run faster in C#. It's just not possible. C and C++ are so close to the hardware that when written properly it is near impossible to make it faster without going to assembly. The best C# can hope for is something close to C/C++, but never better.

      I'll make another post if I get time to take a more detailed look but I'm not optimistic about these tests being worth anything. Try the Language Shootout (or the win32 version) benchmarks for broader benchmarks where a lot of them have actually been looked at by programmers that know what they are doing. If you know what you are doing then you might want to really try them, don't just go by the results on the pages because some of them are skewed because the run times are way too short to be meaningful.

      Again, I ask you to design a vector class in C# that uses the same or less memory than C++ and performs the same or better. It's not even close to possible.

      --
      The ratio of people to cake is too big
    22. Re:Curious how he wrote it in C#. by AstroDrabb · · Score: 2, Informative
      It even destroyed gcc C in trig calculations, though, got slaughtered by gcc C's 'double' math tests.
      From the article:
      compiled using gcc within the Cygwin bash shell emulation layer for Windows.

      A much more fair comparision would have been gcc under a *nix environment instead of the Win32 port. This "benchmark" also didn't take into consideration slower startup times, pauses due to garbage collection or code being JITed. All in all, this benchmark is useless. Though from personal experience, I do agree that C# and Java both have very good performance on modern hardware to make their use a much better alternative over lower level and error prone languages like C/C++. Java and C# both showed good numbers, except for that strange regression in Java's Trig functions.
      --
      If Tyranny and Oppression come to this land,
      it will be in the guise of fighting a foreign enemy. -James Madison
    23. Re:Curious how he wrote it in C#. by Shakrai · · Score: 2, Insightful
      If I can't share a copy of the music or media I purchased with a group of real life friends (I'm avoiding the whole p2p thing here), then something is seriously wrong. The bottom line is that people will share amongst thier friends, thats human society. And we shouldn't be penalized for that, thats horribly wrong.

      If "share a copy" == "loan them your CD" then you shouldn't be penalized for that and nothing is wrong with it. If "share a copy" == "burn a copy of your CD" || "share a copy" == "strip the DRM out of your mp4 file and give them a copy" then you are stealing something for your friend and that isn't right "Human Tendencies" (what you meant to say I think) or not.

      Of course you should be penalized in line with the crime you committed. RIAA shouldn't get to sue you for $20,000 per song -- that just isn't right. But that's another debate.

      --
      I want peace on earth and goodwill toward man.
      We are the United States Government! We don't do that sort of thing.
    24. Re:Curious how he wrote it in C#. by mst76 · · Score: 2, Funny

      > I don't think my Slackware came with Windows Update. Where can I download it?

      http://v4.windowsupdate.microsoft.com/
      Since you you Slack, you have to take care of the dependencies yourself :-).

    25. Re:Curious how he wrote it in C#. by essreenim · · Score: 2, Funny

      Yes, why invent the wheel when you can reinvent
      it.

    26. Re:Curious how he wrote it in C#. by essreenim · · Score: 2, Funny

      You are asserting its not. This may or may not be a good assertion. You may now induce my lack of
      deciseiveness on the matter.

  2. Written in C# by sweet+cunny+muffin · · Score: 5, Funny

    Wow. This is written in C#. I wonder if we can get .NET banned now that we can prove it's used for illegal purposes :)

    1. Re:Written in C# by Anonymous Coward · · Score: 5, Funny

      How is it pronounced? I always thought the # meant rap, as in C#

    2. Re:Written in C# by ryepup · · Score: 3, Funny

      Cause banning the tool would stop it. Really.

    3. Re:Written in C# by dAzED1 · · Score: 2, Interesting

      I could be wrong, but I think he was being sarcastic. Like, while p2p services have illegal things happen on them, people kill the p2p. Gosh, I guess I could be wrong...doubt it though.

    4. Re:Written in C# by mrpuffypants · · Score: 5, Interesting

      I actually like the irony of a Microsoft pushed technology being used to kill an Apple-pushed technology THEN getting GPL'd!

    5. Re:Written in C# by RPoet · · Score: 5, Funny

      # is the "hash" symbol. C#, while written out as "C Hash", is pronounced "Cash", reflecting the reason Microsoft invented it.

      [This notice inserted to assist the humor impaired: This post may contain attempts at humor.]

      [ObKarmaProtection: "Well, this will probably send my karma to hell, but ..."]

      --
      "Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
    6. Re:Written in C# by ikkonoishi · · Score: 4, Informative

      Think music notation

      Thus c# = c sharp

    7. Re:Written in C# by satanami69 · · Score: 5, Funny

      I thought it was just a quick way to write c++++, since the # looks like four +'s in a square.

      --
      I really hate Dan Patrick.
    8. Re:Written in C# by Lemmy+Caution · · Score: 4, Insightful

      You know, of the people I know who have for love or money had to work with C#, exactly zero of them have complaints about it. According to all accounts I've heard, it's a well-thought out language that's easy to work in.

      D may be the next iteration, but let's give props where props are due.

    9. Re:Written in C# by shrykk · · Score: 3, Funny

      Heheheh. Someone in UF described it as "C Shudder"

      --
      #define struct union /* Reduce memory usage */
    10. Re:Written in C# by tempest303 · · Score: 5, Insightful

      let's give props where props are due.

      You mean to the Java folks, then?

      buh-dum ching! Thank you, I'll be here all weekend! Try the buffet!

      That said, C# does seem cool... basically Java++. Now if only MS would make a legally binding document saying they won't sue the Mono guys... :-P
    11. Re:Written in C# by jrockway · · Score: 4, Insightful

      I've never used C#. It's M$-sponsored, and I don't really like M$. I know that Java is less Free, but I really like the language. I feel that it's very clean and well-deisgned. The default API is also well thought out and I really enjoy using it. Just because I like Java, though, doesn't mean you have to like it :)

      I also like the fact that pretty much anyone can run my program. If this weren't the case, then Windows users would be pretty much out of luck if they wanted my program. I'm not going to port it.

      I'm sure C# people think the same about Mono. It's "cross-platform". "It's great that Linux users can run my program", I'm sure they think. They weren't going to port it to Linux either ;)

      Oh well, when there are choices, there will be arguments about an individual's choice. It's better this way, I suppose.

      --
      My other car is first.
    12. Re:Written in C# by km790816 · · Score: 4, Insightful

      Unlike the reason Sun created Java, which was to increase love and understanding in the world and had nothing to do with turning a profic...and the reason IBM is pushing Linux...because they think it spawns a world of open friendship, not because they make a mountain of cash consulting.

      Evil Microsoft, trying to make money. How dare they!

      I can't believe these comments still get modded as funny.

    13. Re:Written in C# by DroopyStonx · · Score: 2, Interesting

      I agree 100%. It's sad to see all these ignorant morons blasting C# just because it's a Microsoft technology and pretty much a clone of Java. If anything, this is one of the few GOOD things that Microsoft has actually done.

      Pretty much anyone and everyone who bashes it doesn't have an honest to god FACTUAL reason why it "sucks" so bad, that's the funny part.

      I've worked with both extensively, and while Java definitely has the upper hand in being truly cross platform, C# and the .NET framework is a million times easier to work with.

      People really need to start taking their heads outta their asses before rambling off about something they don't know about.

      --
      We have secretly replaced these Slashdot mods' sense of humor with a rusty nail. Let's see if they notice!!
    14. Re:Written in C# by Tobias+Luetke · · Score: 2, Insightful

      This is not funny, thats actually the original thinking behind it. # = two rows of ++

    15. Re:Written in C# by Alcohol+Fueled · · Score: 2, Funny

      Ahhhhh! Its almost like a bad eBay rating!

      "slow language!! c++++, language was just ok... will not code again!!!!"

      --
      Ah am not a crook! (\(-__-)/)
    16. Re:Written in C# by 16K+Ram+Pack · · Score: 2, Insightful
      I think you are right to state this point, that people are currently giving IBM huge creds for their behaviour over Linux.

      I'm glad IBM are fighting SCO, but I don't for one minute believe it's altruistic.

      The question is, which model do you want? The "companies make money out of hardware/consulting" or "companies make money out of software" (OK it's usually a mixture). The IBM model means they make a profit with more opportunity for openness, which can give everyone more opportunities.

  3. DeDRMS by gnu-generation-one · · Score: 5, Interesting

    "In practice, the goal of maximizing publication regardless of the cost to freedom is supported by widespread rhetoric which asserts that public copying is illegitimate, unfair, and intrinsically wrong. For instance, the publishers call people who copy "pirates," a smear term designed to equate sharing information with your neighbor with attacking a ship. (This smear term was formerly used by authors to describe publishers who found lawful ways to publish unauthorized editions; its modern use by the publishers is almost the reverse.) This rhetoric directly rejects the Constitutional basis for copyright, but presents itself as representing the unquestioned tradition of the American legal system.

    The "pirate" rhetoric is typically accepted because it blankets the media so that few people realize that it is radical. It is effective because if copying by the public is fundamentally illegitimate, we can never object to the publishers' demand that we surrender our freedom to do so. In other words, when the public is challenged to show why publishers should not receive some additional power, the most important reason of all -- "We want to copy" -- is disqualified in advance.

    This leaves no way to argue against increasing copyright power except using side issues. Hence opposition to stronger copyright powers today almost exclusively cites side issues, and never dares cite the freedom to distribute copies as a legitimate public value."

    Misinterpreting Copyright

    1. Re:DeDRMS by moonbender · · Score: 3, Informative

      Originally, the actual authors complained about publishers distributing their work lawfully. Nowadays, the publishers (and not the actual authors, who have sold away their copyright) complain about other people who illegaly distribute their work. Thus, it is almost the reverse.
      Although I agree that your argument is correct, too - however, the legal owner isn't necessarily the rightful owner: some people will say that selling away copyrights shouldn't be possible, and certainly not rightful.

      --
      Switch back to Slashdot's D1 system.
    2. Re:DeDRMS by Saeger · · Score: 4, Insightful
      I expect to be paid for that work or for the information, with real currency.

      Then in the future you better make sure that you get paid upfront for the scarce (and sometimes NOT so scarce) WORK of creation, since you can't depend on artificial scarcity enforcement without a global police state.

      If you've previously earned some goodwill/respect/whuffie, I'm much more open to funding your future efforts, and even *gasp* paying for that effort indirectly by volunteering to buy a non-scarce token copy of your OLD WORK.

      --

      --
      Power to the Peaceful
    3. Re:DeDRMS by black+mariah · · Score: 2, Insightful

      No, it's not the copying that publishers care about. You could make 5,000 copies of everything you own and keep them in your basement for all they care. It's DISTRIBUTION that they care about.

      The term pirate has a very specific meaning when it comes to software. It refers to someone that unlawfully copies a work then redistributes it, usually breaking some kind of copyright protection in the process. I'm sick of stupid pedantic fucks whingeing on about this. Words can have more than one meaning, if you haven't noticed.

      --
      'Standards' in computing only impress those who are impressed by things like 'standards'.
    4. Re:DeDRMS by netsharc · · Score: 2, Funny

      Speaking of RMS, only after about 2 minutes reading the comments do I realize that the tool is called deDRMS, and not deRMS.. I was wondering what sort of joke it was having a tool that would crack "RMS" protected content.

      --
      What time is it/will be over there? Check with my iPhone app!
  4. This just in! by mrpuffypants · · Score: 5, Funny

    Real, Inc.'s Realplayer now natively plays back iTMS purchases! It's Magic!

  5. Oh dear by Realistic_Dragon · · Score: 5, Funny

    Perhaps for his next trick he will stand outside RIAA/MPAA headquaters holding a 6 foot neon sign that says SUE ME AGAIN!

    I hope that eventually someone incorporates this code into a iTunes client for Linux, as it would be nice to be able to buy music from iTMS but I have no desire to buy a Mac.

    --
    Beep beep.
    1. Re:Oh dear by spektr · · Score: 5, Funny

      Perhaps for his next trick he will stand outside RIAA/MPAA headquaters holding a 6 foot neon sign that says SUE ME AGAIN!

      The RIAA manager will recognize him as a loyal customer and give him a friendly nod before he goes to work...

    2. Re:Oh dear by goMac2500 · · Score: 2, Funny

      You don't have to buy a Mac. Apple makes a client for this little known operating system called Windows. ITMS songs also work on a little known media platform called QuickTime. Its magic!

  6. Looks like his webserver was written in C#! by TheBurningDog · · Score: 3, Funny

    seriously however... anybody have a mirror of the code?

    1. Re:Looks like his webserver was written in C#! by Anonymous Coward · · Score: 5, Informative

      I was fortunate enough to load the page during the 1 minute that the server stayed up.

      Now let's see how long my little mirror stays up!

      http://fire.prohosting.com/xonerate/dedrms.txt

    2. Re:Looks like his webserver was written in C#! by Anonymous Coward · · Score: 5, Informative

      Stupid junk filter doesn't let me post this. Why oh why? Code after filler...

      In the beginning God created the heaven and the earth.
      2 And the earth was without form, and void; and darkness was upon the face of the deep. And the Spirit of God moved upon the face of the waters.
      3 And God said, Let there be light: and there was light.
      4 And God saw the light, that it was good: and God divided the light from the darkness.
      5 And God called the light Day, and the darkness he called Night. And the evening and the morning were the first day.
      6 And God said, Let there be a firmament in the midst of the waters, and let it divide the waters from the waters.
      7 And God made the firmament, and divided the waters which were under the firmament from the waters which were above the firmament: and it was so.
      8 And God called the firmament Heaven. And the evening and the morning were the second day.
      9 And God said, Let the waters under the heaven be gathered together unto one place, and let the dry land appear: and it was so.
      10 And God called the dry land Earth; and the gathering together of the waters called he Seas: and God saw that it was good.
      11 And God said, Let the earth bring forth grass, the herb yielding seed, and the fruit tree yielding fruit after his kind, whose seed is in itself, upon the earth: and it was so.
      12 And the earth brought forth grass, and herb yielding seed after his kind, and the tree yielding fruit, whose seed was in itself, after his kind: and God saw that it was good.
      13 And the evening and the morning were the third day.
      14 And God said, Let there be lights in the firmament of the heaven to divide the day from the night; and let them be for signs, and for seasons, and for days, and years:
      15 And let them be for lights in the firmament of the heaven to give light upon the earth: and it was so.
      16 And God made two great lights; the greater light to rule the day, and the lesser light to rule the night: he made the stars also.
      17 And God set them in the firmament of the heaven to give light upon the earth,
      18 And to rule over the day and over the night, and to divide the light from the darkness: and God saw that it was good.
      19 And the evening and the morning were the fourth day.
      20 And God said, Let the waters bring forth abundantly the moving creature that hath life, and fowl that may fly above the earth in the open firmament of heaven.
      21 And God created great whales, and every living creature that moveth, which the waters brought forth abundantly, after their kind, and every winged fowl after his kind: and God saw that it was good.
      22 And God blessed them, saying, Be fruitful, and multiply, and fill the waters in the seas, and let fowl multiply in the earth.
      23 And the evening and the morning were the fifth day.
      24 And God said, Let the earth bring forth the living creature after his kind, cattle, and creeping thing, and beast of the earth after his kind: and it was so.
      25 And God made the beast of the earth after his kind, and cattle after their kind, and every thing that creepeth upon the earth after his kind: and God saw that it was good.
      26 And God said, Let us make man in our image, after our likeness: and let them have dominion over the fish of the sea, and over the fowl of the air, and over the cattle, and over all the earth, and over every creeping thing that creepeth upon the earth.
      27 So God created man in his own image, in the image of God created he him; male and female created he them.
      28 And God blessed them, and God said unto them, Be fruitful, and multiply, and replenish the earth, and subdue it: and have dominion over the fish of the sea, and over the fowl of the air, and over every living thing that moveth upon the earth.
      29 And God said, Behold, I have given you every herb bearing seed, which is upon the face of all the earth, and every tree, in the which is the fruit of a tree yielding seed; to you it shall be for meat.
      30 And to every beast of the earth, and

    3. Re:Looks like his webserver was written in C#! by reub2000 · · Score: 2, Informative

      ed2k Link: DeDRMS.cs

  7. T-shirts anyone? by Big+Nothing · · Score: 5, Funny

    Lawsuits anyone?

    --
    SIG: TAKE OFF EVERY 'CAPTAIN'!!
  8. Source code, ideas, communication by JoshuaDFranklin · · Score: 5, Interesting
    I am sure this will trigger another round of lawsuits, hopefully with the net effect of more education of the public and legal community as to the nature of source code as speech (that is, a method of communication).

    This code shows with more simplicity than ever before how the FairPlay DRM scheme works. This can be used by programmers to add support for applications (i.e., GStreamer) to play encrypted files with a key produced from an iTunes username/password. It can be used by researchers to see any weaknesses in FairPlay and develop better methods. Unfortunately it can also be used by those who want to destroy the iTunes Music Service.

    Interestingly, I believe the ideas could also be used to create files encrypted with a particular iTunes login, though perhaps I'm misunderstanding the scheme.

    1. Re:Source code, ideas, communication by Deraj+DeZine · · Score: 3, Funny
      it can also be used by those who want to destroy the iTunes Music Service.
      eg. Microsoft.
      --
      True story.
    2. Re:Source code, ideas, communication by Daimaou · · Score: 2, Insightful

      I must say that I completely disagree with your assessment. I believe speech is a vehicle for communication, and that free speech would be more accurately referred to as free communication. I also believe most others, including law, would agree with me.

      There are other vehicles of communication that also enjoy the same protected status as speech. A few examples would be music, paintings, pictures, and even pornography to some extent. So this would indicate that it is not speech itself that is protected, but rather the more encompassing concept of communication, which can come in many forms.

      Writing computer code is another form of communication. Yes, it can be compiled and run on a computer, and it is also near impossible for the untrained eye to discern its meaning, however, the same could be said of sheet music.

      I am a coder as well, and I do not feel that my ability to read and write code should be considered any less of a communication medium than verbal or written speech. Take the source code at hand as an example. I clicked on the link to the code, read it, and now understand how it works. Why should this C# code be considered any less of a communication vehicle than if he wrote a dissertation in English explaining his work in detail? The fact is that it shouldn't. He communicated with many of the Slashdot crowd ideas and concepts that are readily understood by those working in his field of expertise. Is this not communication?

      True, code would be considered a different kind of communication, just like speech, art, music, photography, etc., but it should enjoy the same lawful protections extended to other forms of communication.

  9. DeDRMS? by capz+loc · · Score: 5, Funny

    What does DVD-Jon have against Dr. Richard M. Stallman? Is this the utility that reverses changes made by RMS-Lint?

  10. Re:Ummm....wow by isny · · Score: 3, Funny

    I could do it in one really long line of C. Without comments.

  11. DeDRMS art... by Saeger · · Score: 2, Interesting
    Looks like DeDRMS will be next up for free speech protection in the tradition of the DeCSS Gallery. I just love it when DRM control freaks get their global domination panties in a wad.

    DeDRMS? I wrote a song about it. Want to hear it? Hear it goes... *da dum da dum*... slash asterisk bla bla asterisk slash... *da dum da dum*... Using System; *bah bum bah bum*...

    --

    --
    Power to the Peaceful
  12. Host it on Freenet? by Anonymous Coward · · Score: 3, Informative

    Let's host this program on Freenet, it is a project that make's the best use for what Freenet was made for.

    1. Re:Host it on Freenet? by RPoet · · Score: 4, Informative

      You know, instead of saying "we" should do it, you could have just done it. It's very easy. So I did it for you.

      CHK@XTn8vik~xxqsIJzLcDFUlPQqrw4NAwI,griuDFoqruNU 09 1-2Qj8Ew/DeDRMS.cs

      (Watch out for the space inserted by the slashdot code, remove it)

      --
      "Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
    2. Re:Host it on Freenet? by MikeCapone · · Score: 2, Insightful

      1. 'Piracy' is a term that is used to describe, in fewer words, the illegal redistribution of copyrighted material. It is SYNONYMOUS with copyright infringement. This is why being a pedantic assclown is never a good idea. Eventually you're going to run across a word that has two meanings, and your puny human brain will implode trying to parse it.

      "Piracy" is a word that has many meanings and a pejorative sub-text, "copyright infringement" is precise and neutral.

  13. Dilbert has something to say on this very subject: by Realistic_Dragon · · Score: 5, Funny

    http://dilbert.com/comics/dilbert/archive/images/d ilbert2004042261455.jpg

    A somewhat odd view... does anyone know which big music firm United Media (the Dilbert owners) is affiliated with?

    --
    Beep beep.
  14. blah by Anonymous Coward · · Score: 4, Informative

    For the junk filer:
    jhsvjklhajskdvhakjsdhvalkjsdhkajdhfasd hsfvhasdhvf asdf asdf asdf asdf sdf asdhvashdvasdf asdf asd sdf coipx vxjzlk sdhvaasd fasd fadfg fiobvxcoizv jcxoixz jxzc sdhvaf cmdrtaco sucks akljdkls asd asd fvx sdhvas gh hh hhf dd sdf sf sd
    hdvash jk k fgh jgdvvcbbn cv c dhvc c vb fg hdrghdfg fg dg df g dsf
    ashdva sdfgsgewrr benrtnrt er er revr dv shdva aioajdoi jfasdioj v;xjf kldasjkl;vasj sdhva sjkdfsdkvn alkn lkan alksnsdflk nsfnvlad dhvahsdva aisovaiouvoivoiua ioua auao iuasi us shdva asivoa jvhbusa ui hiuahsiuhfsa ha ahsdjkfahkdj lfhalksjdfhalk askjda
    vhasdvhasdjhvaksjdhva a kjas lkjdakljf svhasdhvaskjhvlaskjdvhas a kljs djklakslj af
    asvhajkshvjkshas dhasdjvkhasdv akjdfjadf asds s d fsd fsad fads asdfas asdf asdf sdfs vxcvxcvzxcvx ss dfsdxvc dfa bioub oiu zklxcvx nsm,m,fns,m
    sdfas ikj oixj movnxmcvnxcvo sdoifjs dfsddafgdfg kamlxcvbjio zkcnvzlk nxclk xcivx as df sdf asdf asd vi xoizjvzcvn socso s asd addfsdfahtgh fghdfgh df gd d

    using System;
    using System.IO;
    using System.Text;
    using System.Security.Cryptography;

    class M4PStream
    {
    private Rijndael alg;

    private BinaryReader br;
    private BinaryWriter bw;
    private byte [] sbuffer;

    private string AtomDRMS = "drms";
    private string AtomMP4A = "mp4a";
    private string AtomSINF = "sinf";
    private string AtomUSER = "user";
    private string AtomKEY = "key ";
    private string AtomIVIV = "iviv";
    private string AtomNAME = "name";
    private string AtomPRIV = "priv";
    private string AtomSTSZ = "stsz";
    private string AtomMDAT = "mdat";

    public M4PStream( FileStream fs )
    {
    br = new BinaryReader( fs );
    bw = new BinaryWriter( fs );
    sbuffer = br.ReadBytes( Convert.ToInt32( fs.Length ) );

    alg = Rijndael.Create();
    alg.Mode = CipherMode.CBC;
    alg.Padding = PaddingMode.None;
    }

    byte [] NetToHost( byte [] Input, int Pos, int Count )
    {
    if( BitConverter.IsLittleEndian )
    {
    for( int i = 0; i < Count; i++ )
    {
    Array.Reverse( Input, Pos + (i * 4), 4 );
    }
    }

    return Input;
    }

    int GetAtomPos( string Atom )
    {
    byte [] Bytes = Encoding.ASCII.GetBytes( Atom );

    for( int i = 0; i < (sbuffer.Length - 3); i++ )
    {
    if( sbuffer[ i + 0 ] == Bytes[ 0 ] &&
    sbuffer[ i + 1 ] == Bytes[ 1 ] &&
    sbuffer[ i + 2 ] == Bytes[ 2 ] &&
    sbuffer[ i + 3 ] == Bytes[ 3 ] )
    {
    return i;
    }
    }

    throw new Exception( String.Format( "Atom '{0}' not found", Atom ) );
    }

    uint GetAtomSize( int Pos )
    {
    byte [] Bytes = new byte[ 4 ];
    Buffer.BlockCopy( sbuffer, Pos - 4, Bytes, 0, 4 );
    return BitConverter.ToUInt32( NetToHost( Bytes, 0, 1 ), 0 );
    }

    byte [] GetAtomData( int Pos, bool bNetToHost )
    {
    uint Size;
    byte [] Bytes;

    Size = GetAtomSize( Pos );
    Bytes = new byte[ Size - 8 ];
    Buffer.BlockCopy( sbuffer, Pos + 4, Bytes, 0, Bytes.Length );

    return bNetToHost ? NetToHost( Bytes, 0, Bytes.Length / 4 ) : Bytes;
    }

    public void Decrypt( byte [] CipherText, int Offset, int Count,
    byte [] Key, byte [] IV )
    {
    MemoryStream ms = new MemoryStream();

    ICryptoTransform ct = alg.CreateDecryptor( Key, IV );
    CryptoStream cs = new CryptoStream( ms, ct, CryptoStreamMode.Write );
    cs.Write( CipherText, Offset, (Count / 16) * 16 );
    cs.Close();

    ms.ToArray().CopyTo( CipherText, Offset );
    }

    public byte [] GetUserKey( uint UserID, uint KeyID )
    {
    byte [] UserKey;
    BinaryReader bruk;

    string strHome =
    Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData );
    bool bUnix = Environment.OSVersion.ToString().IndexOf( "Unix" ) != -1;
    string strFile = String.Format( "{0}{1}{

    1. Re:blah by Geoffreyerffoeg · · Score: 4, Insightful
      You forgot an important part, which may have also gotten you past the lameness filter:
      /*****
      * DeDRMS.cs: DeDRMS 0.1
      ****
      * Copyright (C) 2004 Jon Lech Johansen <jon-vl@nanocrew.net>
      *
      * 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, USA.
      ****/
  15. nothing to see here folks: by ejaw5 · · Score: 4, Funny

    Drms = ~0.707(D)

    --

    $cat /dev/random > Sig
    1. Re:nothing to see here folks: by base3 · · Score: 4, Funny
      Therefore: D=sqrt((Integ -inf -> inf [D^2])/(2*inf)) ;)

      But that would make a lousy filename in just about any operating system :).

      --
      One CPU cycle wasted on digital restrictions management is ONE TOO MANY.
  16. What will the Dairy Farmers Think? by andersen · · Score: 5, Funny

    What will the dairy farmers of the world think when they discover their Dairy Records Management System has been compromised? I will never drink milk ever again!!!

    --
    -Erik -- --This message was written using 73% post-consumer electrons--
  17. Re:Since it is only 230 LOC by orzetto · · Score: 2, Insightful

    Tried, but the lameness filter is DMCA-enforcing.

    --
    Victims of 9/11: <3000. Traffic in the US: >30,000/y
  18. Bitch Bitch Bitch by Famatra · · Score: 2, Flamebait

    This guy is a hero for standing up to coroprations, unlike you who can only bitch on Slashdot about how other people get all the glory and your stuck there picking your ass all day long.

    If you are really concerned about him going to jail, then do something about it rather then bitch about *him* doing *his* part.

  19. I'm obviously not understanding something here.. by Sarth · · Score: 4, Interesting
    DVD Jon, of obvious fame, is hailed as a hero for letting your average Joe (or Jon), go out to their local store, and buy a DVD and play it on their linux boxen, right?

    I can sorta understand that, as far as I know, DVDs don't state at the time of purchase that you have to have X or Y, just that you have to have the disc. Fine.

    So, when you buy something from the iTMS, it STATES that you have to have X or Y. It clearly states the restrictions that you agree to. This is not a hard concept, so why is it felt that a technological solution is required to 'fix' it?

    Something that just struck me... DVD Jon isn't in the Americas, but iTMS isn't selling to those outside (maybe Canada, I'd have to check). So ... what part of this equation am I missing?

    --

    ... and, so began, the legend of the Five-point Atkins Exploding Heart Technique!

  20. Inevitable by ajs318 · · Score: 5, Insightful

    If you attempt the impossible -- and make no mistake, copy-prevention is physically impossible, not just difficult -- then you will fail. You might be able to fool people into thinking you have succeeded, for a short while; but, sooner or later, your lies will catch up with you. All copy-prevention technology is pure snake oil, and can never work. It will always be defeated. Once a single CPT-free version has been created, then every penny anyone ever invested in that particular copy-prevention technology is wasted.

    --
    Je fume. Tu fumes. Nous fûmes!
  21. use english by grusapa · · Score: 2, Funny

    BinaryReader bruk; bruk = new BinaryReader( File.OpenRead( strFile ) ); UserKey = bruk.ReadBytes( Convert.ToInt32( bruk.BaseStream.Length ) ); bruk.Close(); "bruk" http://66.70.46.80:5555/find?lang=no&dict=NOUKMX&w ord=bruk Jon det er litt letter for engelske folk å forstå koden din når den er på engelsk da.. Jeg vet ikke om det er et c# ord eller, om det er en trykkleif.

  22. Re:Dilbert has something to say on this very subje by CylanR77 · · Score: 4, Insightful

    Who says that "Dilbert" has sold out? You? Just because the strip portrays a view of downloading content that you find disagreeable, doesn't mean that the RIAA's got Scott Adams in their pocket.

    It could just be that the man believes that you ought to pay for what you use for entertainment, if the creator of that entertainment wants payment.

    --
    http://cylan.deviantart.com/gallery/
  23. Re:Ummm....wow by RPoet · · Score: 5, Funny

    I didn't expect it to be written in C#.

    NOBODY expects it to be written in C#!! Its chief weapon is surprise ... surprise and fear ... fear and surprise ... Its two weapons are fear and surprise ... and ruthless efficiency ... Its three weapons are fear, surprise, and ruthless efficiency ... and an almost fanatical devotion to Redmond ... Its four ... no ... Amongst its weapons ... Amongst its weaponry ... are such elements as fear, surprise ... I'll try posting some other time.

    --
    "Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
  24. pretty cool... by cybin · · Score: 3, Insightful

    this is pretty cool, and a technical achievement... but why bother stripping the DRM from your m4p files? just make a functional iTunes clone that doesn't care about the DRM :)

    or maybe i'm wrong... is it up to the player software to enforce the DRM? i thought i read somewhere that the iPod just ignores it...

    1. Re:pretty cool... by The+Fanta+Menace · · Score: 4, Insightful

      Maybe if Apple had made an iTunes for Linux, it might have been a while longer before things like this popped up. Look at Real: it took several years before anyone bothered making another player for their files on Linux, since they already provided one.

      Speaking of which, did anyone actually reverse engineer Real's format, or does mplayer just use their shared libraries?

      --
      -- Even if a god did exist, why the fsck should I worship it?
    2. Re:pretty cool... by TravisWatkins · · Score: 5, Informative

      No, it's not up to the player to enforce the DRM. When you purchase a song from iTunes you are given the DRM'ed file, an md5 hash of the file, and two keys. Not sure what the other key is for, but one is the encryption key. You put that with the song and you get a DRM free song. Thats exactly what this does. PS - Reverse engineering the iTMS is fun!

      --

      "But I'm still right here, giving blood and keeping faith. And I'm still right here."
  25. Re:Dilbert has something to say on this very subje by the_mad_poster · · Score: 4, Insightful

    You know, I saw that this morning, and I thought it was actually a pretty good wrap up (well, for what a comic can do anyway) of several of the main positions in the debate.

    First, there are all the people who go snag copies of music because they're too a) lazy, b) stupid, c) cheap, or d) all of the above to either go buy a copy or just not buy it at all (don't give me shit: you think it costs too much or has too much filler, blah blah blah... don't buy the fucking thing, don't be a little baby about it). Then, there's the theiving nature of all the execs in the industry ripping off the artists. There's also the problem of overproduction, and the mentality of major artists that they have to make money but no, no... they're still doing it for the art.. really.

    I thought it was a very good bit of satire, all around.

    --
    Alito: A vote for Alito is a punch in the eye to put that bitch back in her place!
  26. Neat by dtfinch · · Score: 3, Funny

    The code looks so simple, as though .Net did all the work for him. Does this make .Net illegal under the DMCA?

  27. Re:I'm obviously not understanding something here. by Anonymous Coward · · Score: 5, Insightful

    I think that basically what you're missing is that 'they' can't tell you what you can and can't do with their products after you purchase them.

    Replace 'they' with any manufacturer.

    I could buy an apple that said "not for use as food." And I could then proceed to eat that apple - they have no say in what I do with it. If, for some reason, I should injure myself by eating that apple, they warned me and wouldn't be held liable. That's it. Laws come into play when I throw that apple and kill someone with it. Or try to sell it, claiming it is a pair.

    Now, the argument here is that it is illegal to decrypt the 'protections' a company puts on their music. And it is here where it gets smelly realy, really quickly.

    Sure, it might be the law, but it is written to be a pretty shitty law. (DMCA, etc). No, that's not an excuse to break the law, but it is one to cause sympathy for someone who does. There are very legitimate reasons for breaking the DRM on these files. There are also very illegitimate ones. Piracy comes to mind. You know, real piracy. Not some 14 year old girl that wants to give her friend some songs, but the people who mass produce and sell these songs on the black market.

    The black market being, by the way, about every outdoor market I've been to in Asia or South America.

    And you're right. DVD Jon shouldn't fall under any US laws. But the RIAA et al. will surely find a way to change that. Bastards.

  28. Re:I'm obviously not understanding something here. by Slack3r78 · · Score: 3, Insightful

    I don't see the point you're trying to make. DVDs may not explicitly state that you have to do X or Y, but with CSS encryption combined with the DMCA, they might as well.

    I think DVD Jon's being totally consistent here - if you pay to listen/watch/whatever something, you should have the right to do so on whatever platform or medium you choose, and not be limited by some artificial restriction imposed on you by the media companies.

    So now people with Linux boxes can play their legit iTMS songs on their Linux boxes. Personally, I'm not bothered by this. There are other, easier ways for people to pirate music if they really have their heart set to it, so opening up a way for people to use something they've paid for in a way they see fit, while it may technically violate the license, is nothing I see worth getting up in arms over.

  29. Let me get this straight... by asscroft · · Score: 5, Funny

    This same guy wrote DeCSS, FairPlay and DeCRMS....

    wow. what a brilliant ballsy sun of a bitch.

    --
    because I have been enjoined by this Holy Office to abandon the false opinion which maintains that the Sun is the centre
    1. Re:Let me get this straight... by scottj · · Score: 2, Insightful

      Actually, you've got it a bit wrong. You didn't even need to RTFA to know that "the decryption code that was later used by an anonymous developer to create the playfair utility." Jon didn't write playfair. Somebody else did. This is Jon's version of playfair.

      --
      .-.--
  30. Slashdotted... Here's a mirror of the code by sailor420 · · Score: 3, Interesting

    http://hrothgar.mine.nu/dedrms.txt

    A temporary mirror to the code. It wont be up more than a week, so dont bookmark it.

  31. Re:C#, Mono, and making it do something by Anonymous Coward · · Score: 3, Informative

    I can't really help you with the problems with installing the mono client... but this is what I did (with my win2k box)

    www.go-mono.com -> c# compiler -> downloads page

    get the file mono-0.31-win32-1.exe

    run it, click okay a couple times...

    get a copy of the code....

    mcs DeDRMS.cs

    and you have an exe that's command-driven.

    command is : DeDrms.exe myfile.m4p

  32. The above post contains no code. by MillionthMonkey · · Score: 5, Funny

    I might expose myself to legal liability under the DMCA if I were to use my +2 karma bonus to publicly point out that a copy of the DeDRMS code may be found buried in the parent AC post (currently at 0, and NOT posted by myself) that I am replying to. The DMCA would expressly forbid such a reply informing others of the existence of such a post.

    Therefore, I wish to state emphatically that the parent contains no C# whatsoever and should not be moderated up as Informative, cut, pasted, compiled, or disseminated.

    1. Re:The above post contains no code. by MillionthMonkey · · Score: 5, Insightful

      If pointers to info are 'illegal' (*cough*2600*cough), then I would also like to state that you cannot buy weed at the park. If pointers to pointers are safe, then I would like to say that it's safe to dereference my friend Joey for the same pointer to the park.

      Ah, but if you recall, 2600 was enjoined by the court from providing hypertext links to DeCSS, although they were still allowed to publish the URLs themselves because of First Amendment concerns. (You had to cut and paste them into the address field yourself- no HREFs.)

      I, on the other hand, can't get rid of the hypertext link underneath my post that says "Parent".

  33. Re:Dilbert has something to say on this very subje by damiangerous · · Score: 4, Funny

    Exactly. There was a strip along the same lines a while back. Wally said something like "everything should be available free on the internet and creators should make their money from tips." Someone, I don't remember who, replied, "Great idea, we should try that with engineers."

  34. Get it now by Nom+du+Keyboard · · Score: 4, Interesting
    Remember W.A.S.T.E.
    Remember PlayFair
    Remember the bitTorrent sites

    If you want it, get it now.

    Interesting how this news comes out on a Sunday, when the lawyers should all be out at play.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  35. Why do you need speed for a cracking Util? by autopr0n · · Score: 4, Insightful

    I mean, really. Why do you need much speed in anything other then a 3d game or some high-end server stuff that's going to be running constantly (like a web server or database).

    Not to mention C isn't much faster then C# and java for most tasks these days.

    --
    autopr0n is like, down and stuff.
    1. Re:Why do you need speed for a cracking Util? by Anonymous Coward · · Score: 2, Insightful

      I mean, really. Why do you need much speed in anything other then a 3d game or some high-end server stuff that's going to be running constantly (like a web server or database).

      Ummm, so your programs don't eat up all your memory and CPU. Just because it's not a server or a game doesn't excuse sloppy inefficent code. You might as well be running windows xp(tm)

    2. Re:Why do you need speed for a cracking Util? by Anonymous Coward · · Score: 4, Insightful
      I mean, really. Why do you need much speed in anything other then a 3d game or some high-end server stuff that's going to be running constantly (like a web server or database).

      It's specifically this kind of attitude that makes me have to run a 3ghz pentium4 overclocked with 2 gigs of ram... just to run a word processor. Programming has gotten SO lazy these days. Just imagine if most code was ASM optimized just how BLAZING fast your systems would really be. But no. I like waiting.

    3. Re:Why do you need speed for a cracking Util? by Anonymous Coward · · Score: 5, Insightful

      Just imagine how much our software would would actually do if everyone wrote in hand optimized ASM. Say goodbye to handy things like instant messaging and video players - we'd still be trying to get basic email clients and such to work. Sorry, but programmer time is much more valuable than a few bucks for hardware upgrades.

    4. Re:Why do you need speed for a cracking Util? by GnuVince · · Score: 4, Insightful
      Fast is not always good. There are applications you can upgrade, add code, etc. while it's running! The reason why we use so-called slower languages (because languages aren't slow per-se; implementations are fast or slow) is because they often allow us to do much more complex things much more easily. Try to code a regular expression in Assembly, you're still gonna be at it in 2 years. Computers evolve and we now demand more from them, and if it costs a little CPU time, well so be it.

      And if you're so smart and good and not lazy, go ahead and write the Assembly version of this program. Now, make sure it can work on all platforms you can get .NET or Mono on (this means Windows, Linux, Mac, Sparcs, x86s, motorollas, alphas, etc.), otherwise it's not as useful.

      If you want someone that seems to agree with you, read recent interviews of Chuck Moore. Even the guy who wrote C doesn't use it anymore; Dennis Ritchie uses Aleph.

    5. Re:Why do you need speed for a cracking Util? by Doppler00 · · Score: 4, Insightful

      Wrong! If everything was written in asmembly the resulting code would be such a mess, it's likely that it would run several magnitudes slower than something written in Java. 99% of the time, slowdowns are a result of poor algorithms, NOT compiler types.

    6. Re:Why do you need speed for a cracking Util? by Phurd+Phlegm · · Score: 2, Insightful
      Just imagine how much our software would would actually do if everyone wrote in hand optimized ASM. Say goodbye to handy things like instant messaging and video players - we'd still be trying to get basic email clients and such to work. Sorry, but programmer time is much more valuable than a few bucks for hardware upgrades.

      Certainly you don't have to write in assembler to make tight, reasonably efficient code. I can't imagine when programmers got the idea that it's reasonable for a user to ever wait to see the result of a mouse click or keystroke, but I regularly see delays of tens of seconds when using Micro$oft Outlook (it's the standard at work).

      I got a lot faster response in 1988 using RMAIL inside Emacs on a 20MHz 68020 than I get with a 2GHz machine today. I refuse to believe that we couldn't have a video player if companies exercised a little thought and discipline.

  36. DeDMCA by Esion+Modnar · · Score: 4, Funny
    Now that would be even way cooler than DeDRMS. Followed by DeRIAA, DeMPAA, and DeSCO.

    Would pay money for all of those.

    --

    They say the first thing to go is your penis. Well, it's either that or your brain. I forget which...
  37. It works, but...... by Anonymous Coward · · Score: 2, Informative

    It works, but you have to open the file with VLC first so the key for it is in the documents and settings\application data\drms directory.

  38. Not really a cracking tool... by ThePyro · · Score: 3, Informative

    This tool seems to require that you already have your key stored in a file somewhere. This code just uses that key along with .NET's built-in cryptographic services to decrypt the data and write it back to the file. Seems like getting your hands on the key in the first place would be the hard part...

    1. Re:Not really a cracking tool... by Chester+K · · Score: 4, Informative

      This code just uses that key along with .NET's built-in cryptographic services to decrypt the data and write it back to the file. Seems like getting your hands on the key in the first place would be the hard part...

      VLC will extract your user key and save it into your home directory when you use it to try to play a FairPlay-protected file from an authorized system.

      --

      NO CARRIER
  39. Freenet mirror by RPoet · · Score: 2, Informative

    Freenet mirror:

    CHK@XTn8vik~xxqsIJzLcDFUlPQqrw4NAwI,griuDFoqruNU 09 1-2Qj8Ew/DeDRMS.cs

    (Watch out for space inserted by the slashdot code, remove it)

    --
    "Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
  40. Re:C#, Mono, and making it do something by cduffy · · Score: 3, Informative

    Re installing Mono on Linux, you might do well to use the GARNOME packages; that way, you're building everything from source to be installed under its own prefix, and thus avoiding dependency hell.

  41. Ok, Carp? by Hal+The+Computer · · Score: 2

    So you're saying that Microsoft is trying to corner the market on carp? Oh those tricky, tricky bastards.

    Microsoft(TM): Where do you want to fish today?

    --

    int main(void){int x=01232;while(malloc(x));return x;}
  42. CODE MIRROR HERE by blixel · · Score: 3, Informative
  43. SharpDevelop by renelicious · · Score: 4, Informative

    This is a little offtopic, but since its written in C#, for those of you what don't have Visual Studio and don't want to mess with the command line tools (or don't have Mono on Linux) SharpDevelop is a great C# development product. Its GPL. Again a little of topic, but its always good to pimp your favorite software.

    Yes, there's also a Linux version.

    --
    "Luke, I am your node.parent();"
  44. If Apple were smart... by goMac2500 · · Score: 4, Informative

    They'd make iTunes work under WINE. As a side note I am sick and tired of people complaining that Apple does not let iTunes Music Store songs work under other media players. They do. Any media player can play iTunes Store music using the QuickTime API. All you have to do is write a plugin to interface with QuickTime. I wrote a QuickTime based media player a few years ago. Guess what? I started it up today and it played iTunes Music Store songs just fine. NO modifications. Its my own media player, yet it plays DRM'd music fine, no special un-DRMing.

  45. Re:ok... by FrYGuY101 · · Score: 2, Interesting
    Mono changed the licence from LGPL to MIT...

    From here:
    Licensing

    The class library is being licensed under the terms of the MIT license. This is the same license used by the X11 window system.
    --
    "If we let things terrify us, life will not be worth living."

    - Seneca
  46. Re:C#, Mono, and making it do something by damiam · · Score: 2, Informative

    apt-get install mono

    --
    It's hard to be religious when certain people are never incinerated by bolts of lightning.
  47. Re: This boy's mother... by Black+Parrot · · Score: 2, Insightful


    > So far he has won and avoided jail. But, if he continues to push his luck, like this, some corporation is going to bury him.

    I think it's called "getting even". US corporations got him treated like a criminal for doing something that wasn't illegal where he lives, now he's getting some back.

    --
    Sheesh, evil *and* a jerk. -- Jade
  48. Re:ok... by sweetooth · · Score: 2, Informative

    It's not under the LGPL, and I don't even believe that it has been put out under Microsofts Shared Source license (yet). Even the Mono implementations aren't released under the LGPL they are licensed under the MIT X11 license with exceptions. Which you can read about in the Mono FAQ at go-mono.com

  49. I don't use C# soI am waiting... by Joey7F · · Score: 2, Funny

    ...for the prime number equivalent.

    Thanks,

    Joey

  50. Inevitable? So what? Who cares? by werdna · · Score: 3, Insightful

    make no mistake, copy-prevention is physically impossible, not just difficult

    This is like observing that perfect algorithmic encryption, other than a one-time pad is impossible. So what? Who cares? Of course, I can't create a lock-and-key on my house that will keep all thieves out, all the time. So what? Who cares?

    Whether or not my door can be physically manufactured to bar you forever from entry, makes it not one whit more legal for you to do so. All locks are rated, not in terms of their binary perfection, but rather in terms of the time and cost to defeat them. So what? Who cares?

    You might be able to fool people into thinking you have succeeded, for a short while; but, sooner or later, your lies will catch up with you.

    I suppose there are folks who are naive to think they live behind perfect locks. So what? Who cares? Where is the lie? What does it matter that technological solutions can be defeated? They are helpful, and substantially helpful to keep generally honest people honest, and stupid people (who represent most users) out. Smarter, less honest people, can of course get in any time. So what? Who cares?

    For those smarter, less honest people, we have laws. Some will be smart enough to circumvent all of them and go free. Most will not.

    Security is not a question of binary perfection. It is a question of doing as well as you may. Likewise with digital rights management.

    There has always been piracy of musical content. Always. Some good, some bad. So what, who cares?

    Just like DeCSS, playfair will be available to the less honest, smarter of us, or rebuilt by those who understand how it works. Those who think that this fact is useful have missed the point. These facts do not help our cause. To the contrary, it only helps those who insist that technology regulation, such as DMCA is required, and prevents the repeal of very bad laws.

    Darn, I wish the smarter and less honest of us were just a little bit smarter about the ways of the world. For the smarter, honorable and ideologically motivated of us, such as Mr. J., we should excoriate, not praise, this sort of thing.

    Our problem is that our arguments prove too much -- we demonstrate the "necessity" of the DMCAs, certainly to the satisfaction of the governments who will enforce them. The problem is NOT that there exists DRM, the problem is that the DRM is implemented and legally enforced in a manner that limits the scope of good new technology. It is that problem that WE, the technologists will have to solve -- hard or impossible it may be -- because the RIAA and MPAA certainly have no incentive to do so.

  51. Re:I'm obviously not understanding something here. by Hatta · · Score: 2, Interesting
    I see a blaring difference between a DVD, which does not say 'Thou shalt not', and the iTMS, which does. That, to me, is the key difference. Informed consumers, implied (or explicit) consent to the purchasing guidelines thusly set forth. ymmv, obviously.

    So you do everything corporations tell you to do? You've never stood on the top rung of a ladder? Or taken a double dose of ibuprofen? Never used a beach ball as a flotation device? Once you buy it, it's yours and no one can justly tell you what to do with it. Not that the justice system is ever just, mind you.

    My main fear, is that the Big Five will use this, to either show that 'digital distrubution of music is an unsound business model', or something along those lines. BEST case situation now, we come out of this with a much heavier DRM than we have now. End result, only those willing to bend the rules come out ahead -- just like it is now. Thanks, Jon. Much

    Rules are for suckers. If something is morally wrong, good people won't do it anyway. Rules aren't going to stop the dirty ones. So the only reason to have rules is to stop moral people from doing something that's not morally wrong.

    Must the citizen ever for a moment, or in the least degree, resign his conscience to the legislator? Why has every man a conscience, then? I think that we should be men first, and subjects afterward. It is not desirable to cultivate a respect for the law, so much as for the right. The only obligation which I have a right to assume is to do at any time what I think right. It is truly enough said that a corporation has no conscience; but a corporation of conscientious men is a corporation with a conscience. Law never made men a whit more just; and, by means of their respect for it, even the well-disposed are daily made the agents of injustice.

    Henry David Thoreau, Civil Disobedience (1849)
    --
    Give me Classic Slashdot or give me death!
  52. You're counterproductive.... by acamas · · Score: 2, Interesting

    Everybody here seems to be glad about this hack. I'm not...

    Please think about it:
    1) Apple's DRM Fairplay is rather fair - at least compared to other DRMs. Every "normal" user that simply wants to listen to the music, that he or she bought legally, can do it. You can even burn it on CD and listen to it in your car. The only thing one can criticize it that the only mobile digital music player you can use is the iPod.
    2) The music industry still doesn't like digital music. Few days ago I read about the music industry demanding higher charges than 99cents, which in my opinion are quite fair as well.

    It was probably not very easy for Apple to convice the music industry of Fairplay being safe enough (think of all their competitors' DRMs). So what will happen now?

    a) Apple will be forced to shut down their Music Store
    b) Apple will have to update all their songs, the iPod-Software and iTunes. I guess, the new DRM will be more strict....

    So what do we get from PlayFair and DeDRMS? A quite reasonable product will be gone.

    And you can be sure, this development won't help the music store expanding to the rest of the world, either.

    1. Re:You're counterproductive.... by toriver · · Score: 2, Interesting

      Apple's DRM Fairplay is rather fair - at least compared to other DRMs.

      That's like saying the Nazi work camps were better than the death camps. They were still concentration camps. (As were the American camps for Japanese-Americans, but that's a different story.)

  53. Re:Nice achivement, and in python, but.. by arcanumas · · Score: 4, Funny
    NO, wait untill he shows up in court.

    Judge: You again!?
    Jon: Uhm, yeah.. sorry...
    Judge: I guess the DVD people just won't leave you alone..
    Jon: No, it's Apple's DRM now.
    Judge: Damn you kid!!

    --
    Slashdot Sig. version 0.1alpha. Use at your own risk.
  54. making sure nobody will get it by Bender+Unit+22 · · Score: 2, Funny

    Yes, that way we are sure that nobody will be able to get it.

  55. What this does by EvilGrin666 · · Score: 5, Informative

    For those of you that don't know. It removes the protection from a .m4p file (Downloaded with iTunes) . So basically you end up with a Vanilla AAC file.

    1. Re:What this does by danielsfca2 · · Score: 2, Informative
      > ...which you can then re-import into iTunes, right-click on and say "convert to MP3"

      ...which would make someone an idiot for transcoding music (Hello shitty sound!), and a bigger one for not knowing that AAC is better at any given bitrate anyway.

      Non-idiots will use this program to create unencrypted AACs which they will then leave in that format and play on the many media players that support AAC.

      If you wanted a shitty-sounding MP3 why not just use Kazaa in the first place?

    2. Re:What this does by Jon+Abbott · · Score: 4, Funny
      So basically you end up with a Vanilla AAC file.
      As long as I don't end up with a Vanilla Ice file, I'll be fine.
  56. DeSCO by Ungrounded+Lightning · · Score: 2, Funny

    Now that would be even way cooler than DeDRMS. Followed by DeRIAA, DeMPAA, and DeSCO.

    I thought Linus already WROTE DeSCO.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  57. Re:Information wants to be free! by joe_bruin · · Score: 2, Insightful

    offtopic? maybe redundant. i've verified the contents of this file, and it is good. i wonder if the mods did so before modding down.

  58. Trouble installing .NET Framework by Ziktar · · Score: 5, Funny

    Where's the RPM for "Windows Update" again?

    1. Re:Trouble installing .NET Framework by wasabii · · Score: 4, Informative

      www.go-mono.com

  59. Let me tell you about my tent. by Weaselmancer · · Score: 4, Insightful

    Reminds me of a story. Let me tell you about my tent.

    I like going to SCA events. While we're there, we camp. And that means having all of our expensive gear in our tents, all our food, and our booze. Some of our gear can run in the thousands of dollars.

    At my favorite event, we camp near the edge of the camp. And idiots from the local village sneak over the fence and rip us off every so often.

    So I made a tent with a locking door. I built a yurt, and built into the frame a full sized, 1/2" thick, wood and iron reinforced door. With a working brass good-enough-for-your-house lock.

    And while camping one year, a neighbor made fun of me for my efforts. "There's no way that would keep a determined criminal out," he said. It was still a canvas tent, albeit with a wood lattice frame. You could cut a hole through the canvas and break the lattices, easy. The door was too thin, you could kick it down. The lock could be defeated.

    And I explained to him that the point was not to be burglar proof, just more burglar resistant than my neighbors.

    At that moment, he was enlightened.

    Weaselmancer

    --
    Weaselmancer
    rediculous.
    1. Re:Let me tell you about my tent. by pavera · · Score: 2, Insightful

      Of course, the anology fails miserably in the case of copy prevention.

      The village thieves = file sharers
      The tents = various DRM vendors

      So, if the purpose of creating DRM is to keep your "house" (read copyrights) more protected than your neighbor's, well then all you've done is put yourself out of business because the thieves (file sharers) will all migrate to your neighbor's tents which are less secure.

      Thus, no one will buy your DRM, because Apple, MS, Real, all of them will know if they use xyz DRM to distribute their files, no one will purchase from them, so they say lets use abc DRM, it works ok (read 230 lines of code can break it) and people will come to us to purchase music/movies/books/whatever else.

      Thus, being more secure than your neighbors when it comes to DRM is simply saying "Hey, we don't really want to be in business, we don't like to sell things to customers".

      This I feel is why iTMS has been so successful thus far, yeah the files are DRM, but you don't notice that, it is basically completely seemless, and you can burn cd's of the songs. Most of the other services don't allow burning or they only allow 1 copy to be burned or some other goofy thing. Making the DRM completely seemless like that of course makes it so the DRM can be broken with sub 300 lines of code.

      You can't have both, hard to break security means people have to jump through hoops to get at the data. (IE the data center I work at, passcode entry, card entry, and hand scan entry at 3 different doors, just to get into the ante-room where you get another handscan that is much more picky, all of which set off the alarm after 3 repeated misses. All of the doors are time release on the way out, so getting out takes a good 3 minutes, anyway if someone wanted to steal something from inside there it would be a mission impossible type ordeal.

      This is the vision that the RIAA and MPAA have for digital distribution... username/password, credit card, age verification, no deDRM software on your computer check, no file sharing programs on your computer check, no media players besides the one we sold you for 49.99 on your computer check, running an OS that we approve of check, and if you successfully pass all those tests ok now that we've charged you 4.99 you can listen to brittany spears again, if you fail any of those tests, they lock down your computer and send out the feds.

  60. Re:Inevitable? So what? Who cares? by werdna · · Score: 2, Informative

    Sometimes, it's necessary to demonstrate the absurdity and futility of a bad law in order to make the lawmakers (and judges) understand why it's bad.

    And as a guy who has actually lobbied against technology regulation, I am here to tell you that the present "demonstration" does not evidence badness of the technology regulation. Indeed, content people use precisely these circumstances, and again, I am here to tell you it persuades, to evidence that they need the regulation as well as technology to survive.

    I am well-versed in the arguments against. I am simply telling you that they do not move legislators to repeal technology regulation, and tend to the contrary, to get them to consider even stranger more desperate bills like last year's spate of "stupid Hollings bills."

    Consider this -- How, exactly, does showing that you can pick a lock prove the absurdity and futility of laws making it a crime to own a lock pick? Sure, I can find counterarguments, and you can too, but none that would make men change a vote. And I'm a pretty good advocate as these things go.

    This doesen't help.

    P.S. Thanks for the litref :)

  61. This is how to compile it for FREE by $exyNerdie · · Score: 4, Informative


    Follow the steps to compile and run it:
    (1) Get the source code (at your own risk) and save it as DeDRMS.cs
    (2) Download and Install the NET Framework SDK for FREE (reqiures Windows 2000, Windows Server 2003 or Windows XP).
    (3) Use the included compiler csc.exe to compile the source code into executable code. Use this on command line (dos prompt) C:>csc DeDRMS.cs OR C:>csc.exe DeDRMS.cs
    (4) It will create DeDRMS.exe in the same folder where you saved DeDRMS.cs.
    (5) Profit or Jail??

  62. So what? by brunes69 · · Score: 2, Insightful

    - It' s also impossible ot get Windows without SSl libraries you could link against that contain AES

    - It's also (nearly) impossible to get a Linux distro with OpenSSL libraries that contain AES you could link against

    Using C# is not saving you any coding here; at best it is saving you from having to link yourself.

  63. Or for those of you on a Linux box by dethl · · Score: 5, Informative

    1. Get and compile Mono (emerge mono for those of you with Gentoo). 2. In the command line, type: mcs DeDRMS.cs 3. Then type: mono DeDRMS.exe There ya go!

    --
    "Some fight for law. Some fight for justice. What will you fight for? One day, you will see."
    1. Re:Or for those of you on a Linux box by GiMP · · Score: 3, Insightful

      Or with debian:

      apt-get install mono binfmt-support
      mcs DeDRMS.cs ./DeDRMS.exe

  64. Binary available here! by Anonymous Coward · · Score: 4, Informative

    Compiled Binary for Windows 2000/NT/XP
    http://userwww.sfsu.edu/~astern/DeDRMS .exe
    7.00 KB

    C# Source
    http://userwww.sfsu.edu/~astern/DeDRMS.cs
    7.21 KB

    Andrew
    astern at s f s u dot edu

  65. Why C# can outperform C/C++ by ca1v1n · · Score: 5, Informative

    Remember that research that found that emulating the underlying hardware with a sufficiently intelligent userland dynamic profiler was usually faster than running directly on the underlying hardware? The dynamic profiler can optimize like no compiler will ever be able to do with static analysis. It's a similar principle to what Transmeta does with their x86 emulation. Modern Just-In-Time Compilers use dynamic profiling to accelerate things, and they're getting quite good. It's certainly quite possible to design a C# vector class that's both more memory and processor efficient in most cases than C++. Here's how:

    1) Record in the virtual machine/JIT every time a vector gets resized.
    2) Based on the pattern of resizing, speculatively allocate for new vectors/resizes as much memory as they'll ever need, or at least as much as they'll need any time soon.
    3) When you guess wrong about a speculative allocation, adjust your speculation.

    C++ doubles the amount of space allocated for a vector (or queue, or list, or stack, or dequeue, or binary heap, etc) whenever a resize exceeds the amount already allocated, unless you know enough to tell it to do otherwise. This keeps the amortized cost of increasing size by one constant. C++ doesn't benefit from profiling like C# does because there's no virtual machine that can change what binary code is actually sent to the processor. You could hack vector profiling together yourself, but it would be slow. Of course, this doesn't really help C# if you're never resizing your vectors, but that doesn't mean C# can't do better than C, even if C++ will have it beat. If you've ever done much benchmarking of the C++ STL, you know that it's usually faster than otherwise identical code written with arrays, which shouldn't be possible, since the array access code can be done fairly easily in assembly without virtual function table lookups and such, but nonetheless is quite real.

    The trick to this whole scheme is doing the speculation quickly and accurately. We may not be to the point yet where JIT code reliably outperforms statically compiled code in less space, but there are an army of extraordinarily intelligent grad students out there writing dissertations on the topic, and I assure you they'll make it happen.

    1. Re:Why C# can outperform C/C++ by Cthefuture · · Score: 4, Interesting

      It's certainly quite possible to design a C# vector class that's both more memory and processor efficient in most cases than C++. Here's how:

      You mean you've implemented this in C#? Or are you saying what you could do?

      Sorry but there's no way to do it in the current C# implementation. You can't even get access to the memory allocators. There is no C# data structure that can tightly pack data in memory while still being dynamic. The best you can do is an array of struct's which is about as efficient as C/C++ but is absolutely not dynamic without causing a ton of overhead (eg. there is no realloc in C#).

      If you can do it in C# then show me some code.

      C++ doubles the amount of space allocated for a vector (or queue, or list, or stack, or dequeue, or binary heap, etc) whenever a resize exceeds the amount already allocated, unless you know enough to tell it to do otherwise.

      You're talking about the default vector allocator. STL is extremely dynamic, you do not have to use to the default allocator if you don't want you. You can be extremely flexible here for whatever you need and design anything you want.

      If you've ever done much benchmarking of the C++ STL, you know that it's usually faster than otherwise identical code written with arrays, which shouldn't be possible, since the array access code can be done fairly easily in assembly without virtual function table lookups and such, but nonetheless is quite real.

      Actually, I have, and you're wrong. So me an example and I'll show you why your array code is slower than the C++ version.

      Virtual function lookups?! Do you even know how the STL is designed or how C++ works? Now I'm not sure why I bothered with the rest of what I wrote above.

      --
      The ratio of people to cake is too big
  66. Re:Replying to first post by Chupa · · Score: 2, Insightful

    It's impressive how you can call up so much indignance over something that cost you nothing.

    Whenever you get through whining, you might like to know that you only run VideoLan *once*, to get the key for your account/computer. Then all tracks you have purchased with that account can be decoded with that key. VideoLAN is not something you have to run once for every file.

  67. I, for one, welcome our new JIT Compiler overlords by ca1v1n · · Score: 2, Insightful

    Remember the Unix philosophy, "Worse is Better"? The idea was that by writing lots of small things that do one thing each and do them well, the performance hit that comes from linking them all together is less than the speedup from hardware advance in the time it takes for the monolithic developer to get everything right. As a pleasant side effect, the bugs are a hell of a lot easier to fix, and if some component is horribly broken and the maintainer won't fix it, you can rip it out and replace it with something that has similar functionality.

    The reason you need a 3GHz P4 with 2GB of RAM is that so many developers have taken to linking together things that are much more like entire monolithic applications just to integrate very simple functionality.

    The introduction of modern programming languages like C# and Java allows us to effectively turn back the clock 30 years on code bloat, since the important stuff is now part of the language and can be handled intelligently by the compiler without everyone writing their own differently broken implementation. If you read his code, you'll note that Rijndael is a part of the standard libraries. Because of that, he managed to write the whole thing in 210 lines of whitespace-heavy code, and the bytecode compiler will link in the bare minimum to run the program, and the JIT will cache of that only what is actually running, incurring a significant performance hit if and only if something exceptional happens, in which case performance is probably not a serious concern anyway.

    That said, it is most certainly possible to write bloated C# code, but in my experience, you always win when you let the language/compiler do something for you, instead of writing your own or using external libraries.

  68. Another crack? by sonofuse · · Score: 2, Funny

    Ya gotta love this guy. What else can I say... Before long M$ will hire you Jon for a million or so a year just to keep you dormant.

    1. Re:Another crack? by gurumeditationerror · · Score: 2, Funny

      Before long M$ will hire you Jon for a million or so a year just to keep you dormant.


      If you wanted him to stay quiet enough to pay that kind of money wouldn't you be more likely to have him knocked off?

  69. Nice code by mattgreen · · Score: 2, Insightful

    Heaven forbid a cracking utility's source code actually be readable! I dare say the code is beautiful as it is and a testament to higher-level langauges. I am also pleased that someone like DVD Jon would use it instead of clinging to old technology (C) with shallow hopes of maintaining an 'elite' image.

  70. You're naive by achurch · · Score: 4, Insightful

    By saying Apple's DRM is good, you're falling right into the content companies' "trap" (scare quotes because I'm not convinced it was intentional, though the result is still the same). This is the same way many bad laws get passed: proponents of the bad law propose a law that's several times worse, wait for the backlash, then "fall back" to what they wanted to push through in the first place--and most people will agree that it's an improvement and let it go.

    Distribution of copyrighted material is already illegal. DRM can always be circumvented. People will probably be willing to pay reasonable prices for songs online if they're guaranteed quality and the freedom to do what they want with the file, though I'll grant that payment methods are still a mostly unresolved issue. Hence there's no need for DRM, and even DRM as "fair" as Apple's is an improper infringement on users' rights. (Unless you believe content really belongs to the creators rather than to the culture--but that's not the stance the Framers took.)

    I'm reminded of an old saying I heard about negotiation tactics: "If you want Australia, ask for the world and give away five continents."

    1. Re:You're naive by acamas · · Score: 3, Interesting

      I doubt, that there will ever be music without DRM legally available. File sharing makes it in my opinion too "dangerous" for the music industry. Maybe (and I hope that, too) we'll see something like free or "donation music" (in a greater amount than today), but the majority of successfull songs will probably simply stay paid.

      This procedure you're talking about, where a bad law gets passed because a worse one was proposed is in my opinion simply called "compromise" and hence something very important in politics. The fact, that there could be a "worse" DRM comes from the music industry. The users (me too!) don't want any DRM. In this situation, there would be no legal digital music available.

      But having FairPlay there's a compromise: The majority of users (obviously not the people here, but millions of songs have been sold up to now) and the majority of music labels/artists (e.g. not Metallica) are content (not glad) with it. And at least it works.

      Sorry, but saying, that copyrighted material is illegal is not correct (at least not for Germany). Is there a law prohibiting copyright? The only thing we have in Germany is the users' right to make a backup copy. This is possible with FairPlay.

      Just to make my point clear: I'm not at all a friend of DRM. I'm glad about DeCSS to watch movies using linux. I patched my DVD drive to free it from its region code restrictions. But regarding FairPlay: if you think, that it's not the best solution, it's in my opinion still a step to the right direction! Noone stops you implementing a fairer solution, if you can manage to bring the users and the music industry together. But please do not torpedo this first step.

  71. Re:This is a mistake..... by TrashGod · · Score: 2, Informative

    Mono is available from Darwin Ports,, among others.
    Not that I've tried it:-)

  72. So which DRM does it decode? by shodson · · Score: 2, Informative

    So this undo Apple's FairPlay DRM? Or Microsoft's DRM? Quicktime? I couldn't really tell which DRM scheme it De-s.

  73. Re:Dilbert has something to say on this very subje by MightyYar · · Score: 2, Insightful
    And yet Dilbert makes Scott Adams and his publisher a ton of money, even though:

    • You can freely get it online (he makes it available, in fact!).
    • It is in a DRM-free form that can be digitally copied an infinite number of times with no loss in quality.

    Maybe there is a lesson here for music content owners?

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  74. Re:I, for one, welcome our new JIT Compiler overlo by eyeye · · Score: 2, Insightful

    That said, it is most certainly possible to write bloated C# code

    You dont need to - the 20MB .net runtime automatically adds bloat for you!

    Is it astroturfing day on slashdot or something - some other guy was saying java doesnt use much memory... LOL

    (ok some java apps are really good but by and large they are big and clunky)
    --
    Bush and Blair ate my sig!
  75. Re:Inevitable? So what? Who cares? by Otto · · Score: 2, Insightful

    All locks are rated, not in terms of their binary perfection, but rather in terms of the time and cost to defeat them. So what? Who cares?
    The analogy doesn't hold up though... In the case of DRM, the company wants to make a door that you can open as long only as you're wearing that companies special gloves, which cost you something to purchase (either in cash or in rights, depending on your point of view).

    But not everybody has the same size hands. Some people lost their arms in the war, or some people have different numbers of fingers, or some people want to open entirely different doors.. Or some people simply don't like gloves. The point being that once the method for creating those gloves has been determined, and someone has figured out how the gloves work, then they can pretty easily open the door, get inside, and use a screwdriver to remove the hinges. Bam, now the door is open, and the hinges are all bent so the company can't get the door back on. It's broken for good. ... ...

    Okay, so maybe you can take bad analogies too far. :)

    Anyway, DRM is fundamentally unlike anything physical in this world. They want people to be able to experience a thing but be unable to copy that thing. This is simply impossible because of the nature of experience. All of our mediums for holding experiences like music or video or whatever have been expressly designed to be copyable. They have to be. Otherwise they would only be able to make one and then they couldn't sell many of the same thing over and over again.

    So trying to make an experience that cannot be copied on a medium that was designed to be easily copied is more than a bit stupid, don't you think? It can't be done. Not because encryption is tricky, or because nobody's found the right way to do it, or even because they're just trying to make it "hard enough". It's because there's a fundamental inconsistancy between the neccessities of the design of the medium and the purposes to which they are trying use that medium for. And the design of the medium itself is based on fundamental human perceptual abilites and it cannot realistically be altered to fit these purposes.

    This is why it cannot be done. You cannot do the impossible. That's why we call it "impossible". Some people think that people call things impossible lightly. Well, that's true, but hey, we really mean it this time, yeah? :)

    --
    - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
  76. DRM stripping can be done with iMovie by Anonymous Coward · · Score: 2, Informative

    With all the hoopla about open source programs to strip DRM from music bought at the iTunes music store, no one has mentioned that the same (or similar) can be done with Apple's own iMovie. If you import a protected song into an iMovie project, iMovie will transcode the .m4p into an .aiff file that you can find in the Media folder of your project. The .aiff file is a normal aiff file, no DRM.

  77. Re:Needs wildcard support by TheDanish · · Score: 2, Informative

    Just use "for" for expanding wildcards.

    Mini-howto:
    Make directory "here" and batch file "foo.bat"

    Put single line into batch file:

    for %%f in (*.m4p) do DeDRMS "%%f"

    Run the batch file.

    --
    Danish != nationality
  78. What a load of tosh. by jotaeleemeese · · Score: 3, Interesting

    Computer code is the way we request that a computer performs a task.

    We don't do it in plain English (or Spanish, Russian, Mongolian or whatever) because we lack the technology (still) to do so.

    If in the future it is possible to program a computer or any other machine with a normal conversation then how the hell are all the ridiculous copyright and patent laws are going to be applied?

    As things stand computer languages are a necessary nuisance to allow people express in a succint and understandable manner their own ideas about how ro solve problems.

    This is perhaps one of the purest forms of speech, which should be mantained unecumbered of patents and covered by fair copyright laws.

    --
    IANAL but write like a drunk one.
  79. GPL by kiwioddBall · · Score: 2, Interesting

    When I click on the link I get a .CS file that says I should have received the GPL license with it - I certainly didn't!

    Is having this link on Slashdot agaisnt the GPL?

  80. Oh Dear God The Humanity! by localman · · Score: 2, Insightful

    Before getting all angry and/or sad about DeDRMS, remember this:

    Every song that you could unprotect with this tool is available online already unprotected for free (illegally). They're also for sale, legally, unprotected at your local record store. If you buy them used you might even get them less than 99 cents, uncompressed, unprotected... at which point you could do illegal stuff like put them up on a P2P network.

    The point is that this tool doesn't allow you to do anything new. It just carries over to online music stores the same abilities we've had for years now. Heck, maybe without the DRM annoyances people will be more apt to buy songs on the music store, since they now directly compete with what is available already elsewhere.

    Why is it people get so worried up about this (playfair, etc)?

    Cheers.

  81. Good first steps and bad first steps by achurch · · Score: 2, Insightful

    I have no problem with taking steps to resolve issues. What I do have a problem with is this kind of thinking:

    This procedure you're talking about, where a bad law gets passed because a worse one was proposed is in my opinion simply called "compromise" and hence something very important in politics.

    That's exactly the way the politicians want you to think. By considering the "better" bad law on XYZ as a compromise, you've (perhaps unconsciously) accepted their argument that XYZ is something that needs to be implemented/changed/whatever--when this may not be the case at all! Consider this analogy: a police officer stops you at a roadblock and tells you to hand over your wallet because the police department is running low on money and it's the citizens' responsibility to help. When you argue, the officer reluctantly gives way and lets you go after taking "only" $20. Would you consider that a reasonable compromise? Especially if you'd just heard a news story about a raise in police officer salaries?

    There are times when compromise is an appropriate first step, and times when it isn't. If the content companies are willing to work in good faith to find a solution that's appropriate to modern society (read: information sharing--it's not going to go away), then I'm all for that. If they're going to keep on suing their customer base and squeezing their artists, I don't see why I should cooperate with them.

  82. What worries me most by BlackHawk-666 · · Score: 4, Interesting
    is that over the course of my natural life I will have more than 3 PCs, and this technology is only licensing me to have it on 3 PCs. That means that some 6-9 years down the line (I change PC every 2-3 years) I will have used my DRM encrusted music on all 3 PC's that I am licensed to use and will need some way to authenticate it to the next one.

    Now, project yourself forward 20 years. Will these same profit chasing record companies be willing to provide infrastructure to allow you to move your DRM encrusted music from PC to PC throughout the rest of your exepcted life, and that of your descendants who will inhereit this media? Sure, they'll be happily putting out more music, but are they protecting your previous investments? In the year 2039 when I should be just about ready to breathe my last breathe will I be able to hear all my old favorite albums or will I cark it listening to gangster rap on the radio because my rightfully paid for music isn't authorised for use on my new funky media player.

    This DRM stuff is OK for playing todays tunes, but I worry about the longevity of the media.

    --
    All those moments will be lost in time, like tears in rain.
  83. Re:That would be all great.... by the_mad_poster · · Score: 2, Insightful

    No, no, trust me. You're off your rocker as well.

    See, what you're doing, like so many other little whelps out there who don't want to admit that they're just lightweight crooks, is attempting to justify your position as if it were some sort of civil disobedience. However, since there's a perfectly viable option that all you folks who think you're such big martyrs can use to put an end to all this: STOP CONSUMING THE FUCKING MUSIC ALTOGETHER, which allows you to destroy the Evil Empire (TM) without breaking any laws (my... GOD... you mean we can act like INTELLIGENT, INFORMED CONSUMERS!? HOLY SHIT! I'd have NEVER thought of something like THAT!), your actions indicate you are either lazy, cheap, stupid, or any combination of those three. Civil disobedience is great when it's the only way to make your point. However, since you could just stop buying the shit altogether (which means you are NOT entitled to listen to the music), it's NOT the only option, and if you take it, you're just another little brat breaking copyright laws. Oh, you don't like the copyright laws? Well wah, wah. Seems like the majority of the people out there don't mind them since they keep supporting them by purchasing copyrighted works. Since the world isn't run for you personally, I guess you'd better either figure out a way to educate people about why those laws are so bad, or shut up and accept that most people don't care. Maybe they are bad, and maybe people are stupidly supporting them, but that's a WHOLE different issue.

    If people want to buy the music, then the music is fairly priced as far as the market is concerned. If the people are only buying that music because they're uninformed, then instead of breaking laws just because you're not willing to pay for the music, why don't you try to inform folks instead?

    Again, I say: you're breaking the law because you're cheap, and nothing more. You're no different than the crooks in the RIAA, but by all means, go ahead and tell yourself that you are.

    By the way, as a means to lower the rate of muggings, I'm going to start proactively beating up people on my own and stealing their posessions. Sure, I'm victimizing the victim, but it'll sure teach those muggers a lesson when there's nothing left to steal!

    Once you know the context your reasoning looks pretty naive to the level of almost stupidity.

    Oh yes, you're right. My reasoning... that you can easily defeat these horrid people by simply turning your back to them, is soooooo stupid. You're right, making intelligent, informed decisions as a consumer is stupid. From now on, I'm just going to steal everything that I don't feel like paying for, even if I don't need it, just because that's what SMART people like you do.

    --
    Alito: A vote for Alito is a punch in the eye to put that bitch back in her place!
  84. But if you run it on mono ... by maxwell+demon · · Score: 2, Funny

    ... will it still properly decode stereo files?

    --
    The Tao of math: The numbers you can count are not the real numbers.
  85. Re:Dilbert has something to say on this very subje by the_mad_poster · · Score: 2, Insightful

    Wow.. Iraq... yes, I equate wars to getting ripped off at The Wall all the time. You really are a dumbass after all.

    I'll try and beat this through that thick chunk of bone that theoretically houses a brain... theoretically... one last time:

    As long as they have the cash, they'll get whatever they want.

    THEN DON'T BUY FROM THEM AND EITHER FIND ANOTHER, LEGITIMATE SOURCE, OR DEAL WITH NOT HAVING THE MUSIC YOU LIKE. It's not your music, you can't make it your music on your own terms, get over it. If I make something, and I sign it away to some big, evil conglomerate, then I'm a dumbass, and that's my fault. That doesn't give everyone else a free ticket to rip it off.

    It really is that simple. Just like anything else, if you don't buy it, you don't support it. You cannot justify stealing it just because you don't want to pay for it. Nobody held a gun to anyone's head to sign contracts. Stupid bands did that of their own volition. Nobody is forcing it to continue. The entire system is being supported voluntarily, and if you don't like it, you just remove yourself or you can go a step further and educate people on the situation. Boo hoo. You're a cheap little bitch. I don't care, go ahead and keep patting your back over your heroic copyright infringement. You're an idiot, and you're just as much to blame for the problem overall as anyone else. If you ever grow up and stop acting like a little kid (wah wah.. I don't like the terms of the deal, so rather than just walk away, I'll just steal their stuff instead), you'll realize that.

    And, incidentally, if every person in the U.S. bought only one CD, on average, per year, at $20 a pop, that would be more than a five fold cut in their profits. At their current size, there is no way that they could sustain themselves AND fork out tons of money for litigation and pocket lining without either falling on their face in the process or drastically restructuring.

    --
    Alito: A vote for Alito is a punch in the eye to put that bitch back in her place!
  86. VERY naive: Case In Point by lysium · · Score: 2, Insightful
    This procedure you're talking about, where a bad law gets passed because a worse one was proposed is in my opinion simply called "compromise" and hence something very important in politics. The fact, that there could be a "worse" DRM comes from the music industry. The users (me too!) don't want any DRM. In this situation, there would be no legal digital music available.

    The parent poster is actually correct, and is not being cynical. Case in Point: The transit authority of New York City pushed for an unwarranted fare hike. They proposed raising the fare 100%. The blacklash was furious; shortly thereafter, they proposed a "mere" 50% increase instead. The public was so releaved that the increase was allowed without further complaint. Commuters were interviewed as actually saying "At least the price isn't being doubled. What a relief."

    If you do not think modern governments are clever enough to exploit people this fashion then you really are too naive to live in a democracy.

    ===--===

    --
    Together, we will drive the rats from the tundra.