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

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 21st September 2007, 16:14   #8  |  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   #9  |  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 20th September 2007, 05:35   #10  |  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   #11  |  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 13th October 2007, 11:42   #12  |  Link
DreckSoft
Registered User
 
Join Date: Mar 2002
Posts: 117
Quote:
Originally Posted by sectroyer View Post
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
A small hint how to compile would be nice. What additional libraries are needed and in which dirs?

Btw: I also get the error "Wrong size of SID!" on this:
<DRM2WMV2>
<KID>eDfaCCoaCEmyVR7yvocIDg==</KID>
<SID>KbFvRF5E4XlNg5JgWNV2v+Z/zUZI</SID>
<INFO></INFO>
</DRM2WMV2>

Edit: Decrypting works with DRM2WMV. The program won't exit at the end of the decryption process but the file is fine when I kill the process.

Last edited by DreckSoft; 13th October 2007 at 21:42.
DreckSoft is offline   Reply With Quote
Old 13th October 2007, 23:15   #13  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
Quote:
Originally Posted by DreckSoft View Post
A small hint how to compile would be nice. What additional libraries are needed and in which dirs?

Btw: I also get the error "Wrong size of SID!" on this:
<DRM2WMV2>
<KID>eDfaCCoaCEmyVR7yvocIDg==</KID>
<SID>KbFvRF5E4XlNg5JgWNV2v+Z/zUZI</SID>
<INFO></INFO>
</DRM2WMV2>

Edit: Decrypting works with DRM2WMV. The program won't exit at the end of the decryption process but the file is fine when I kill the process.
I uploaded new version which should fix the issue.
Usually SID has length of 20 bytes whereas SIDs produced by new drmdbg have 21 bytes (at least the one you did post). I added new a line that shows you size of SID before warning about the wrong size of SID. If you will still get "Wrong size of SID" error please post the "Size of SID" printed by FreeMe2.

Last edited by sectroyer; 13th October 2007 at 23:28.
sectroyer is offline   Reply With Quote
Old 14th October 2007, 05:25   #14  |  Link
abudara
Registered User
 
Join Date: Jun 2005
Posts: 28
Quote:
Originally Posted by sectroyer View Post
I uploaded new version which should fix the issue.
Usually SID has length of 20 bytes whereas SIDs produced by new drmdbg have 21 bytes (at least the one you did post). I added new a line that shows you size of SID before warning about the wrong size of SID. If you will still get "Wrong size of SID" error please post the "Size of SID" printed by FreeMe2.
It is an answer for this problem.

drmdbg 2007/10/14 08:40
http://up.uppple.com/upload.cgi?mode=dl&file=7147
DLKey:12345
zip-pass:7ZLl364V42G7u741D499cw4KU62E4J
abudara is offline   Reply With Quote
Old 14th October 2007, 11:15   #15  |  Link
sectroyer
Registered User
 
Join Date: Sep 2007
Posts: 102
Quote:
Originally Posted by abudara View Post
It is an answer for this problem.

drmdbg 2007/10/14 08:40
http://up.uppple.com/upload.cgi?mode=dl&file=7147
DLKey:12345
zip-pass:7ZLl364V42G7u741D499cw4KU62E4J
Okay. I think I understand now so can I ask You to take a look at handle_packet function? I am afraid It may not handle as many kinds of packet types as drm2wmv does
BTW can someone (i.e. using google language tools) translate ReadMe.txt I would do it myself but I can't open it in any way to see japanese signs

Last edited by sectroyer; 14th October 2007 at 11:19.
sectroyer is offline   Reply With Quote
Old 20th September 2007, 14:07   #16  |  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   #17  |  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 21st September 2007, 01:37   #18  |  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 20th September 2007, 23:50   #19  |  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   #20  |  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
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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 13:53.


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