Reflexil together with .NET Reflector is pretty much the most awesome thing ever for getting someone else’s closed source thing to work properly. It’s simple: open the assembly in Reflector, edit the badness using Reflexil and save as a new assembly. Include said new assembly in your project and win!
Sometimes thar be dragons… like when the author signed it. Which is why Reflexil has the very cool ability to strip out the assembly signing (strong name) and make it a normal assembly.
This part gave me some issues…
Sometimes when referencing the “fixed” assembly you will get this:
Basically there was some weird problem, so the easy way around it is to launch your friendly neighborhood Visual Studio Command Prompt and issue some pretty simple commands:
ildasm Patched.dll /output:Patched_And_Fixed.il ilasm /DLL Patched_And_Fixed.il
Now you’ll have Patched_And_Fixed.dll which will work!
Thanks goes out to the guys behind all these great tools to make our lives easier!