View Full Version : Source code to Fairuse4WM Commander
jamaicahest
1st February 2009, 21:36
I've been trying to develop a one-stop application to license, decrypt and save WMA files with DRM protection and I can see the Fairuse4WM Commander program has done some of this.
Is the source code available anywhere, so I can build upon it?
Ajax_Undone
1st February 2009, 21:58
I've been trying to develop a one-stop application to license, decrypt and save WMA files with DRM protection and I can see the Fairuse4WM Commander program has done some of this.
Is the source code available anywhere, so I can build upon it?
Well it was out there at one point but it has gone with the wind.
Just so you know all it was. Is something that served the files to Fairuse4wm.exe It has none of the components to decrypt the files its self.
You will need to either decompile the original fu4wm exe or build you own implementation of it to get its source cause the original creator was not in the presence of mind to include the source with it.
This post should help with the development of your app http://forum.doom9.org/showthread.php?p=1050024#post1050024.... "People are Pork"
I built my own using the info he gives... I have since deleted all source code and progress done on it because of the development done on Requiem for iTunes.
jamaicahest
1st February 2009, 22:34
Yeah it was/is just a batch loader for FU4WM but he did manage to wrap the WMF api for C#, which could save me quite a bit of time in development. You know: lazy = good.
I intend to use the fairuse4wm exe files to do the actual decryption, but make WMP license the files and use the wrapped DLL to determine which files are DRM protected. So the source code to use the DLL is still useful, albeit I can probably figure it out the code isn't available.
Thanks for the reply, I'll take a look at the IBX post.
Ajax_Undone
2nd February 2009, 00:03
OK then Maybe "IL DASM" from the tools in MSVS can help if you don't/cant get it from there its in the windows 2008 SDK.
If this doesn't help them maybe using a .net decompiler that inverts the code from IL back to to C# / VB.net. I purchased a program that did this a year ago for some projects I was working on...
You could Ask UserMan (http://forum.doom9.org/member.php?u=110038) He is the one who originated it.
And VivaFairUse4wm (http://forum.doom9.org/member.php?u=114474) is the one who took the source and made what we know as today Fairuse Commander.
jamaicahest
3rd February 2009, 19:51
Can't believe I didn't think of decompiling it, I've used Reflector so many times before :thanks:
If anyone's intested I've wrapped it in a C# console application, which will process all the WMA files in the current directory, force WMP to license them and proceed to decrypt them.
DRMRemover.zip (http://www.filefactory.com/file/afgd971/n/DRMRemover_zip)
Should be fairly easy to build upon or rip code from :)
Don't forget to change the path in the configuration file to fairuse4wm executable.
It will stall if WMP can't license your files for some reason, something I'm looking into improving.
sharp_1
8th February 2009, 03:58
Can't believe I didn't think of decompiling it, I've used Reflector so many times before :thanks:
If anyone's intested I've wrapped it in a C# console application, which will process all the WMA files in the current directory, force WMP to license them and proceed to decrypt them.
DRMRemover.zip (http://www.filefactory.com/file/afgd971/n/DRMRemover_zip)
Should be fairly easy to build upon or rip code from :)
Don't forget to change the path in the configuration file to fairuse4wm executable.
It will stall if WMP can't license your files for some reason, something I'm looking into improving.
Is it possible to give a more detailed idea of how we can get DRMRemover to work?
I have a copy of VB loaded but can't get it to build.
jamaicahest
15th February 2009, 21:23
Yeah of course.
It works simply by running it inside a directory containing DRM protected WMA/WMV files.
You have to set the path to the fairuse4wm exe in DRMRemover.exe.config before running it.
You also need to have fairuse4wm up and running before you can use the program.
The zip file contains only the source code, so here is the binary.
sharp_1
24th February 2009, 17:57
jamaicahest:
Thanks for the tip. I now have DRMRemover working. :thanks:
Question: Is there a way to direct the converted files to another folder of choice and get rid of the unsightly "[NoDRM]" within the filename? Also, I've noticed that before when I had Rhapsody (now using Napster) the folder structure was alittle different.
Rhapsody would be: My Music>Artist Name>Album>.wma's
Napster is: My Music>.wma's
Do you why that is and do you have any ideas for changing it back or should I be fine?
jamaicahest
4th March 2009, 22:56
Yeah I am planning to build in some sort of renaming scheme, so you can configure how to name the decrypted files, like <tracknumber>-<artist>-<title>.wma. Expect to have it done in a few days.
Regarding output to a different folder, what do you mean? A static folder for all decrypted files or something like "My Music>Artist Name>Album>.wma's" ?
sharp_1
4th March 2009, 23:25
Regarding output to a different folder, what do you mean? A static folder for all decrypted files or something like "My Music>Artist Name>Album>.wma's" ?
That will be awesome!!!
What I mean by "output to a different folder" is to have the ability to output decrypted files to a folder of choice on a drive of your choice. Not only would the rename of the file occur but you could have the utility place the file in a new/different directory...just like commander did.
Thanks!!
jamaicahest
10th March 2009, 20:30
I've made both.
The setting OutputMask in the config file supports Author (%1), Title (%2), Album (%3), and Track Number (%6). It supports seperation into folders, e.g. %1\%3\%6-%2 will result in Author\Album\TrackNumber-Title.wma
Setting TargetDirectory will allow you to specify a default folder for the output files, e.g. if you want all the decrypted files to be placed in C:\MyMusic set it to C:\MyMusic. This can be combined with the OutputMask setting to create folders like C:\MyMusic\Artist\Album\01-title.wma.
spongehead
12th March 2009, 03:32
The new version gives me an error on the first file. The output directories are created but the decrypted file is not renamed and moved to the new directory. No changes were made to the configuration file. Error message was:
C:\DRMfiles>DRMRemover
Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part
of the path.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.__Error.WinIOError()
at System.IO.File.Move(String sourceFileName, String destFileName)
at DRMRemover.Program.DecryptFile(String filename, String outputFilenameMask,
String outputDirectory, RenameOptions options)
at DRMRemover.Program.Main(String[] args)
C:\DRMfiles>
jamaicahest
12th March 2009, 21:51
Try changing the:
<setting name="TargetDirectory" serializeAs="String">
<value>C:\Documents and Settings\Administrator\Dokumenter\Musik</value>
</setting>
to a directory that exists on your drive.
spongehead
13th March 2009, 04:53
As previously described, the target directory does exist. In fact it was created by the program on the first attempt. The subdirectory was also created. The no-drm file is created in the executable directory but the moving of the no-drm file to the target directory appears to fail with the error message previously posted. I assume it works on your system. What could be different? The soucre code for the moving the file looks pretty straight forward. Could you add an output of the arguments to the File.Move(decryptedFilename, targetFilename); statement in a debug build or suggest where I can get a legit free/trial version compiler that will work for the code. I am mostly a FORTRAN programer ;)
jamaicahest
14th March 2009, 10:19
Unfortunately there was a bug, which caused it to replace all spaces in directory names with underscores leaving your files in a place you'd probably never find them :)
That's fixed now though.
There's still a couple of bugs in it which I'm aware of, such as you can't make it decrypt to current directory and it will fail when the id3 tags contain characters invalid for file/directory names.
sharp_1
16th March 2009, 00:43
Thanks for working on this jamaicahest!!!
I have a few things that are happening to me.
I am able to get FU to work using your exe but here is what is happening to me.
I set the config to send converted files to a new folder on my hd. After running the exe I was able to see about 1/2 of the files in my newly created folder but the other 1/2 stayed in my original music folder where the exe file resides. The files that were moved to my new folder were not converted but moved and the files that remained in the original music folder still had the [UnDRM] attached and were in fact converted.
spongehead
16th March 2009, 00:57
I am still getting directory not found error when the program is trying to move the file to the target directory.
Also, if the OutputMask is blank, the program has a different fatal error.
jamaicahest
19th March 2009, 17:43
Thanks for working on this jamaicahest!!!
I have a few things that are happening to me.
I am able to get FU to work using your exe but here is what is happening to me.
I set the config to send converted files to a new folder on my hd. After running the exe I was able to see about 1/2 of the files in my newly created folder but the other 1/2 stayed in my original music folder where the exe file resides. The files that were moved to my new folder were not converted but moved and the files that remained in the original music folder still had the [UnDRM] attached and were in fact converted.
That sounds quite strange, I'll look into it. I need to change things around abit this application has grown alot larger than I initially intended :)
I'll continue working on it, since I'm using it myself :)
I am still getting directory not found error when the program is trying to move the file to the target directory.
Also, if the OutputMask is blank, the program has a different fatal error.
I'll see if I can get some time this coming weekend to weed out all the bugs and stabilize it, the file move/rename and directory creation part seems to cause some problems still.
sharp_1
24th March 2009, 16:46
That sounds quite strange, I'll look into it. I need to change things around abit this application has grown alot larger than I initially intended :)
I'll continue working on it, since I'm using it myself :)
That would be great!!!
srp336
24th March 2009, 19:07
Sorry if this has been mentioned somewhere, but does this work with the newer .6324 IBX? Maybe with the new drmdbg?
Thanks!
sharp_1
24th March 2009, 19:16
Sorry if this has been mentioned somewhere, but does this work with the newer .6324 IBX? Maybe with the new drmdbg?
Thanks!
Nope, it doesn't.
jamaicahest
31st March 2009, 19:43
I don't support drmbg as I haven't seen a new version in over 1 year, but if you could point me to it I will try to support it.
I've put up a new version which should fix quite a few bugs, including empty output mask and messed up output directories.
It's available at Google Code now http://code.google.com/p/drmremover/downloads/list so you can browse the source code as well.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.