Does it still exist?
it exists, but it is deprecated and not going to be updated moving forward.
That’s too bad - it would be an unique selling point if it was integrated in the elements .Net builds for the following parts:
- Local variable renaming
- Parameter renaming
- String encryption
This renders decompiled code almost unusable without destroying the call stack that are saved when an exception occurs, and without removing the possibility to use reflection.
That’s something we could do internally, w/o needing Oxfuscator.
I just decompiled some complex code that was compiled for release.
And I am not happy with the results; it decompiles to complete readable, clean code. The result is better than I have ever seen with VB.Net, what means that Oxygene code has not protection at all - just decompile and you have a usable codebase.
This is a very urgent matter; my work is used a lot in the Caribbean - and as you live there, you know that you have to protect everything there, otherwise it is stolen.
As I have seen the decompiled code now, I think the following is needed to protect my IP:
Field renaming (anything but public)
Local variable renaming
we can add to the list also the private methods.
Only if marked - because this will change the call stack when an exception is raised.
Or - simply anything that will prevent (readable) decompile with telerik or redgate decompilers.
I am not trying to protect myself from the professionals (you can’t), but only from the hobbyists.
we’ll have a solution for this soon.
Thank you very much!
You might want to look at .Net Reactor
I have used it in the past and it works extremely well.
I used it in the past too, but too often the resulting executables are seen as viruses by the scanners of the customers. This destroys the trust the customers have in me.
give it a couple weeks, and we’ll have something really nice for you.
this is in 2295 and later (just wrote the docs).
Looks very good!
I will test next week.
Already one question: does it do string encryption too?
Not currently, I believe. Carlo will know for sure.
It doesn’t at the moment no; the first goal was to get class obfuscation going,
I just tested, and it is a good first step.
But the parameters and local variables are not obfuscated yet.
Cool. Consider parameter names to be obfuscated (in todays build); local variabes are stored in the .pdb file. You probably should disable or remove debug info to get a better picture there.