Hello! I want to protect a C # program (WPF, .NET 4.5.2) with an obfuscator.
The fact is that using the MVVM Light framework after obfuscation (for example, ConfuserEx, Obfuscar), the program just crashes, whereas without using MVVM Light, obfuscation runs normally and the program starts.
Please advise the current free obfuscator, if you know something else, because Those that I find in Google are outdated or do not even support .NET 4.0.

Do I need to obfuscate the libraries referenced by the program? Same MVVM Light.

I understand that any program is hacked, but I want at least a basic protection so that it is not hacked in 2 minutes in Reflector or DotPeek.

Thank.

  • one
    I also suffered such garbage before. But, I successfully overcame it, and my programming life has become much easier :) Believe me, this is a senseless apprehension. He must be released and forgotten. There is nothing interesting in your algorithms and code for hackers. You do not keep passwords and access codes in the code? Well, nice. - Bulson
  • @Bulson, the algorithms have nothing to do with it, if the C # code is in full view. The mechanism of activation in the open will not leave, because the program is commercial. - WLion
  • one
    The activation mechanism can be made a plug-in library, which is written, say, on the pros. - Bulson
  • one
    And what kind of activation mechanism you have assumed? If after clicking on "Activate", a remote service is accessed, there is nothing terrible in that someone sees this code, the service is still not available for it. - sp7
  • one
    Well, if you are an individual developer, then implementing client-side activation is not the best idea. I would still consider the creation of some third-party service for these purposes. Or is there a problem with that? - sp7

1 answer 1

From my experience I want to share that free obfuscator is a regular Renamer, which translates the name (variables / properties / classes, etc.) into an unreadable form.

From the free and better available to you

From paid I used .NET Reactor , which could not only obfustsirovat, but you could still bind exe to a specific machine or set a certain period after which exe did not start.

In 2013, we had to exclude some builds from .NET. he broke them and the program just crashed, maybe it was related to serialization, but he was friends with our MVVM firewall (Prims 4.1). Perhaps now things are on the line.

  • Thank. I made my own assembly ConfuserEx, removed the attributes ConfuserEx, changed the encryption key and decided to obfuscate the MVVM Light libraries together with the main program - the result is that the program does not crash. True, the antivirus curses, but this is because of Anti-Tamper. - WLion