(Sep 20, 2018 03:59 AM)Washi Wrote: What is it that you are trying to achieve?
Are you trying to prevent people from stealing your code? Use a .NET obfuscator. There are many free as well as commercial ones available all over the internet.
Are you trying to prevent antivirus detections? Use a crypter. You can find them here on HF. Please don't use obfuscators for this.
Are you trying to prevent people from cracking your program? Forget obfuscation and encryption of the client application, it's futile. Switch to a client-server model for your application and move all sensitive logic to the server.
Or are you looking for something completely different?
This is pretty much my thoughts too, obfuscation is literally pointless for preventing cracking. The intentions outlined above are mapped to exactly all the right things you want to consider in the post above.
Unless you can store the core functionality on the server too and not just the licensing portions or whatever you want to hide, there's no real way to prevent someone from cracking your application. If you need offline use, then there's always a trade-off for security. The only thing you can do is make it more difficult for the beginners and intermediate from cracking your program.