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. |
|
|
#1 | Link |
|
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. |
|
|
|
|
|
#3 | Link |
|
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
|
|
|
|
|
|
#5 | Link |
|
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. |
|
|
|
|
|
#6 | Link |
|
Resident DRM Hater
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. |
|
|
|
|
|
#7 | Link |
|
I dont care so should you
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. |
|
|
|
|
|
#8 | Link |
|
I dont care so should you
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 |
|
|
|
|
|
#10 | Link |
|
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. |
|
|
|
|
|
#11 | Link |
|
Registered User
Join Date: Feb 2004
Location: Virginia, USA
Posts: 334
|
Maybe the ASF Specification on Microsoft's site has more information?
__________________
moitah.net |
|
|
|
|
|
#12 | Link |
|
I dont care so should you
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... |
|
|
|
|
|
#13 | Link |
|
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. |
|
|
|
|
|
#14 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 102
|
Quote:
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. |
|
|
|
|
|
|
#15 | Link |
|
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. |
|
|
|
|
|
#16 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 102
|
Quote:
|
|
|
|
|
|
|
#19 | Link |
|
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. |
|
|
|
![]() |
|
|