Search code examples
c#drm

Conventions to follow to make Commercial software harder to crack?


What are some good conventions to follow if I want to make my application harder to crack?


Solution

  • As long as your entire application is client side, it's completely impossible to protect it from being cracked. The only way to protect an application from being cracked is to make it have to connect to a server to function (like an online game, for example).

    And even then, I have seen some cracks that simulate a server and send a dummy confirmation to the program so it thinks it's talking to a real, legit server (in this case I'm talking about a "call home" verification strategy, not a game).

    Also, keep in mind that where there is a will, there's a way. If someone wants your product badly, they will get it. And in the end you will implement protection that can cause complications for your honest customers and is just seen as a challenge to crackers.

    Also, see this thread for a very thorough discussion on this topic.