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?"
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.
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 :)
"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
Real, Inc.'s Realplayer now natively plays back iTMS purchases! It's Magic!
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.
seriously however... anybody have a mirror of the code?
Lawsuits anyone?
SIG: TAKE OFF EVERY 'CAPTAIN'!!
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.
What does DVD-Jon have against Dr. Richard M. Stallman? Is this the utility that reverses changes made by RMS-Lint?
I could do it in one really long line of C. Without comments.
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
Let's host this program on Freenet, it is a project that make's the best use for what Freenet was made for.
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.
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}{
Drms = ~0.707(D)
$cat
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--
Tried, but the lameness filter is DMCA-enforcing.
Victims of 9/11: <3000. Traffic in the US: >30,000/y
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.
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!
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!
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.
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/
I didn't expect it to be written in C#.
... 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.
NOBODY expects it to be written in C#!! Its chief weapon is surprise
"Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
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...
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!
The code looks so simple, as though .Net did all the work for him. Does this make .Net illegal under the DMCA?
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.
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.
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
http://hrothgar.mine.nu/dedrms.txt
A temporary mirror to the code. It wont be up more than a week, so dont bookmark it.
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
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.
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."
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."
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.
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...
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.
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...
Freenet mirror:
U 09 1-2Qj8Ew/DeDRMS.cs
CHK@XTn8vik~xxqsIJzLcDFUlPQqrw4NAwI,griuDFoqruN
(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.
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.
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?
Enjoy
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();"
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.
From here:
"If we let things terrify us, life will not be worth living."
- Seneca
apt-get install mono
It's hard to be religious when certain people are never incinerated by bolts of lightning.
> 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
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
...for the prime number equivalent.
Thanks,
Joey
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.
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.
Give me Classic Slashdot or give me death!
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.
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.
Yes, that way we are sure that nobody will be able to get it.
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.
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
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.
Where's the RPM for "Windows Update" again?
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.
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
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??
- 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.
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."
Compiled Binary for Windows 2000/NT/XPS .exe
http://userwww.sfsu.edu/~astern/DeDRM
7.00 KB
C# Source
http://userwww.sfsu.edu/~astern/DeDRMS.cs
7.21 KB
Andrew
astern at s f s u dot edu
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.
WARNING: there is a trojan on your
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.
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.
WARNING: there is a trojan on your
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.
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.
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."
Mono is available from Darwin Ports,, among others.
Not that I've tried it:-)
So this undo Apple's FairPlay DRM? Or Microsoft's DRM? Quicktime? I couldn't really tell which DRM scheme it De-s.
Maybe there is a lesson here for music content owners?
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
You dont need to - the 20MB
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!
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.
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.
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
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.
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?
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.
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.
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.
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!
... will it still properly decode stereo files?
The Tao of math: The numbers you can count are not the real numbers.
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!
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.