If I create a C# app which has a mechanism to restrict the number of workstations accessing the database, what is stopping someone decompliling the app, changing the code for this mechanism, recompiling it and then deploying it on their systems?
Potentially nothing, however you can increase the effort, and reduce the benefit of this sort of thing:
- Create a simple, easy to use license system.
- Don't overcharge
for your product.
- Sign your assemblies (although this can be
removed).
- Hide/Obfuscate the number of workstations in your code
(e.g. use an octal number and don't make an error message easy to
find in code).
- Obfuscate the entire assembly (a good one will
prevent it from being completely decompiled).