Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Decrypting
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th September 2007, 12:24   #1  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
FreeMe2 - open source WM-DRM removal tool

Hi.
After many hours of fighting with WM-DRM protection I decided to create new tool that would allow people to remove it from from files and streams. Of course FairUse4WM is great tool and it works nice but there are few reasons why have decided to create a new one:
1) FairUse4WM is closed source. Everytime MS releases new version of IBX people have to make binary patches or start from scratch.
2) FairUse4WM doesn't work with video streams since it wasn't intended to. Of course it is possible to record video stream and then undrm it but this is pointless when we are talking about tv channels
3) There is no platform independent tool for ms wm-drm. There is no point of running windoze every time you want to undrm some file or stream.
FreeMe2 has reached beta stage. It CAN NOW be used by normal users. FreeMe2 should now handle all kinds of packets and successfully decrypt both wma and wmv files. It is even able to create correct file header and files paly fine (even in WMP). As you may guess FreeMe2 is based on famous FreeMe by Beale Screamer.
Source code can be found here: http://sourceforge.net/projects/freeme2
Any help will be appreciated.
Latest version available: FreeMe2
I will be updating this link.

Last edited by sectroyer; 5th January 2008 at 13:23.
sectroyer is offline   Reply With Quote
Old 19th September 2007, 16:10   #2  |  Link
Ajax_Undone
I dont care so should you
 
Ajax_Undone's Avatar
 
Join Date: Apr 2006
Location: In hell next to the boiling pit of Lava...
Posts: 989
Well you know if you succeed at this MicroMoney will shut you down and take sourceforge with if it has too...
Ajax_Undone is offline   Reply With Quote
Old 19th September 2007, 17:46   #3  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
I don't believe they will do so. All my code is based on information freely available on the net or obtained by clean room reverse engineering. It's not a crime to allow you playback of legally downloaded files on system other than windoze. Besides I don't live in US so DCMA doesn't bother me
sectroyer is offline   Reply With Quote
Old 19th September 2007, 18:20   #4  |  Link
KenD00
Registered User
 
Join Date: Jan 2007
Location: Internet
Posts: 378
But it bothers SourceForge, so much that they took down a partial implementation of an algorithm that is freely downloadable from the webpage of its creator.

KenD00 is offline   Reply With Quote
Old 19th September 2007, 18:40   #5  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
If they will take the project down I will start bothering For now to access the source just use this:
svn co https://freeme2.svn.sourceforge.net/svnroot/freeme2 freeme2
I've just commited some initial support for wmv files as well for extracting IBX priv key from FairUse4WM's blackbox-keys.txt file.

Last edited by sectroyer; 21st September 2007 at 16:10.
sectroyer is offline   Reply With Quote
Old 20th September 2007, 04:53   #6  |  Link
HyperHacker
Resident DRM Hater
 
HyperHacker's Avatar
 
Join Date: Oct 2006
Location: International waters
Posts: 242
I suggest every time you make a release, you also upload it with source to various file sharing/BitTorrent sites. Once it's out there there's basically no way they can take it down.
__________________
Because Moogles pwn.
HyperHacker is offline   Reply With Quote
Old 20th September 2007, 05:32   #7  |  Link
Ajax_Undone
I dont care so should you
 
Ajax_Undone's Avatar
 
Join Date: Apr 2006
Location: In hell next to the boiling pit of Lava...
Posts: 989
If you make it exclusive to un-DRMing Purchased Files...

Then I can see it probably staying...

Because they can't lock what you own...

By the way can it handle IBX Version 6000.7000 It seems
people are having trouble with that little promiscuous file...

Last edited by Ajax_Undone; 20th September 2007 at 05:43.
Ajax_Undone is offline   Reply With Quote
Old 20th September 2007, 05:35   #8  |  Link
Ajax_Undone
I dont care so should you
 
Ajax_Undone's Avatar
 
Join Date: Apr 2006
Location: In hell next to the boiling pit of Lava...
Posts: 989
By the way what C compiler dose this compile on...

Is there a way to convert it so it can be opened in visual studio 2003/2005/2008 b2...

Sorry I am a .net VB and C# Programmer C/C++ is like egypt Script
Ajax_Undone is offline   Reply With Quote
Old 20th September 2007, 07:45   #9  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
It can be compiled using any C compiler that works on windows (for now). You can create a new project in visual studio and put them inside of the project. I am now fighting with ASF 1.0 spec it's sick
sectroyer is offline   Reply With Quote
Old 20th September 2007, 14:07   #10  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
Okay program is now able to decrypt some wmv files (at least most of it) there are still some packets that I don't know how to handle. If someone has a better understanding of wmv/asf format please contact me. I based my findings on this doc: http://avifile.sourceforge.net/asf-1.0.htm. For those of you who don't like sources link to binary is in first post.

Last edited by sectroyer; 25th September 2007 at 06:19.
sectroyer is offline   Reply With Quote
Old 20th September 2007, 23:40   #11  |  Link
Moitah
Registered User
 
Join Date: Feb 2004
Location: Virginia, USA
Posts: 334
Maybe the ASF Specification on Microsoft's site has more information?
__________________
moitah.net
Moitah is offline   Reply With Quote
Old 20th September 2007, 23:50   #12  |  Link
Ajax_Undone
I dont care so should you
 
Ajax_Undone's Avatar
 
Join Date: Apr 2006
Location: In hell next to the boiling pit of Lava...
Posts: 989
CLI app works great just freed up some files...

but the Console will confuse the Normals...

Some one needs to make a GUI that is so simple that Brittany Spears can use it... lol

Can anybody build one I don't have a lot of free time and it sure would be nice...

Preferably one with a batch option...
Ajax_Undone is offline   Reply With Quote
Old 21st September 2007, 01:31   #13  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
Just wanted to inform you that I have commited support for packets that use grouping and padding. In other words app should be able to handle all wma files and most of wmv files (some even play in WMP ). For testing please use mplayer since I don't think I generate correct headers. Link to binary in first post.

Last edited by sectroyer; 25th September 2007 at 06:18.
sectroyer is offline   Reply With Quote
Old 21st September 2007, 01:37   #14  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
Quote:
Originally Posted by Moitah View Post
Maybe the ASF Specification on Microsoft's site has more information?
I read this specification and other docs. Now I believe that I am able to handle all kinds of packet types. Unfortunately I don't have big experience with asf files Besides in my code there is a lot of hacking which shouldn't happen and I use some constants that I don't fully understand This code (handle_packet function) was created on base of experimenting and reading docs. I know that there are here people that understand how i.e. works drm2wmv which has better asf support and generates correct headers. I'm counting on their help and hope that they will share their knowledge. Meanwhile I will start working on other parts of the code and leave handle_packet function as it is

Last edited by sectroyer; 21st September 2007 at 01:40.
sectroyer is offline   Reply With Quote
Old 21st September 2007, 16:06   #15  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
I fixed sid reading (it now supports format <SID>sid</SID>). Program now is able to read sids from both license files drmstore.hds and drmv2.lic (if there other kinds let me know). I also commited support form drm2wmv key files format. For now keys should be put in file drm2.key in main program directory (the same goes to blackbox-keys.txt file). I also reimplemented some file operation to make them platform independent. Link to binary in first post.

Last edited by sectroyer; 25th September 2007 at 06:18.
sectroyer is offline   Reply With Quote
Old 21st September 2007, 16:14   #16  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
Quote:
Originally Posted by Ajax_Undone View Post
If you make it exclusive to un-DRMing Purchased Files...

Then I can see it probably staying...

Because they can't lock what you own...

By the way can it handle IBX Version 6000.7000 It seems
people are having trouble with that little promiscuous file...
FreeMe2 doesn't have any support for extracting IBX priv key. It contained some old code from freeme but It's commented since it doesn't work. At some point I may add an option for extracting IBX keys but not now and I need some more info about how FairUse4WM and mirakagi are able to do it. If you will be able to extract these keys in some way and put them in blackbox-keys.txt file than FreeMe2 will work with IBX Version 6000.7000 but then FairUse4WM will also work
sectroyer is offline   Reply With Quote
Old 25th September 2007, 08:39   #17  |  Link
veadtuck
Victory is Mine!
 
Join Date: Sep 2005
Posts: 1
sorry for offtopic. how do i remove drm version 1 from asf files?
__________________
\\veadtuck
veadtuck is offline   Reply With Quote
Old 25th September 2007, 13:30   #18  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
As far as I know there is currently no way of removing drm version 1 protection from asf files. When I finish working with drm2 I may implement drm1 but not now
sectroyer is offline   Reply With Quote
Old 26th September 2007, 15:34   #19  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
BETA STAGE
FreeMe2 now works with all files I have and decrypts all kinds of packets. Code is now fully platform independent (Probably it only needs some tweaking for mac ). I wanted to explain that during my tests I found out that there is some "flag" that is used by WMP to check if stream is DRM proteced or not. It can be found at position 49 (hex: 0x31) in stream chunk. If it has value 0x80 it means files is DRM protected and (if undrmed and flag not changed!) will not play in WMP. For files not proteced with drm this flag should be 0.

Last edited by sectroyer; 28th September 2007 at 14:24.
sectroyer is offline   Reply With Quote
Old 26th September 2007, 20:35   #20  |  Link
JackJeruk
Registered User
 
Join Date: Sep 2007
Posts: 11
I am here again.
I started to use your sw, but I got an error message:
Decrypted content key is too big!

What is the problem?
JackJeruk is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 20:23.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.