[Mono-devel-list] Re: [Mono-list] Obfuscation packages that run under mono

Paolo Molaro lupus@ximian.com
Thu, 5 Feb 2004 15:01:10 +0100

On 02/04/04 Miguel de Icaza wrote:
> > I'm trying, without much success I might add, to find any IL obfuscation
> > packages that will run under mono (on linux). 
> >  
> > Does anyone know of any?
> Dont know of one, but there are a few things someone could do:
> 	* Use the bundle functionality in Mono.
> 	  This would bundle your binary inside a Mono instance,
> 	  so you distribute a single executable.  Not impossible
> 	  to break, but would work around simple attempts.

Note that in this case the app needs to comply with the LGPL, the
license of the mono runtime: in practice, the individual assemblies need
to be provided. Alternatively, a separate license needs to be issued
that allows the linking: I guess Miguel and/or the ximian/Novell sales
teams can fill in the details if people are interested (note, I'm not a 
lawyer, the above is my reading of the license, blah, blah, blah).

> 	* You could precompile with --aot, then disassemble the
> 	  original .exe, remove all the code, then re-assemble
>   	  and ship both.

	* Get the companies that build the obfuscation packages to read
	the ECMA spec and fix the bugs in their products that generate	
	non-standard binaries (or, if they expose a bug in mono, please
	file a report in our bugzilla).

	* Pay Ximian/Novell to spend the development time needed to get
	mono to support the broken binaries that some of the obfuscation
	packages generate (or contribute that support).
> That being said, value these days does not lie in particular tiny
> routines, but lies in the large body of work, and if someone steals
> your code, you are likely going to find out anyways.

People disassembling the code is a legal problem and should
be solved with legal means: trying to solve legal problems with
technical solutions is doomed to fail (though of course people are happy
to take your money if that makes you feel better:-).


lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better