Need good obfuscator that won't break remoting...
-
We've tried and seemingly bought all of them at one time or another also the encrypting kinds and we've settled on use Spices.Net[^]and it works fine with remoting I can absolutely attest to since our app uses remoting heavily, it's a very large app with multiple assemblies, also an asp.net interface and a winform interface that supports local database access or remoting access via the internet from the winform app. Technically they all support remoting because you simply can't obfuscate some stuff. When you first use an obfuscator you need to play with it a *lot* and configure it carefully. Start with the least obfuscated settings, incrementally turn on more until your app dies, then find out what you can get away with after that. Spices allows you to set configuration method by method etc. There is no product that will work automatically and figure things out for you, none at all, I gurantee you that. You absolutely 100% need to be very patient and test your app thoroughly until you find the right balance of settings and which methods can be obfuscated and which can't. It's a hassle and time consuming but once you get it you're set and from then on it's simply running it after your build. Um..I can tell you all about CodeVeil because we used it for over a year and had to give it up because they didn't have Vista support at the time last fall and we were having other problems and their support literally gave up on us! They were really good at first then their support started to get worse and worse to the point that they simply told us at one point that they would get to us "when they can in the next month or so" because they were busy with some other product they put out. We had a wierd problem that didn't happen in a non encrypted assembly but did in an encrypted one, clearly there was something up and they took a couple of stabs at recommending things then gave us the 'when we get to it' reply. I say "they" but I'm pretty sure it's one guy who runs that project. That was the deal breaking point for us we simply can't afford any down time with our commercial products. My impression is that they were very helpful when they first released CodeVeil and as time went by they either didn't sell enough to put much resources behind it, or they simply give good service when you're new but as time goes by and anything tricky comes up they just start
Hey John, I settled for {smartassembly}... I've downloaded their latest version (I already had a license for their obfuscator), and I got it working pretty good. When classes are marked serializable, it doesn't obfuscate them, so it still works with remoting. It then also doesn't seem to obfuscate method names, which is a pity, I'll nag them about it. But on the bright side: .NET reflector doesn't show any method/property implementations, and I'm pretty happy with that! Also I didn't need too much experimentation to get it all working properly (about 3 days, but a lot of it I was screwing up my build scripts, hehe). Thanks for the advice, appreciate it!
Wout
-
Hey John, I settled for {smartassembly}... I've downloaded their latest version (I already had a license for their obfuscator), and I got it working pretty good. When classes are marked serializable, it doesn't obfuscate them, so it still works with remoting. It then also doesn't seem to obfuscate method names, which is a pity, I'll nag them about it. But on the bright side: .NET reflector doesn't show any method/property implementations, and I'm pretty happy with that! Also I didn't need too much experimentation to get it all working properly (about 3 days, but a lot of it I was screwing up my build scripts, hehe). Thanks for the advice, appreciate it!
Wout
wout de zeeuw wrote:
I'm pretty happy with that! Also I didn't need too much experimentation to get it all working properly (about 3 days,
Hmm..that's pretty fast, it took us a couple of weeks to find everything that could or couldn't be obfuscated in our app and thoroughly test all code paths etc. Just be sure about that before you release anything.
"I don't want more choice. I just want better things!" - Edina Monsoon