I am writing a .NET software which is doing calculations and drawing in real-time i.e when the user is moving the mouse. I want to protect this software from being reverse engineered and restrict its execution to only a specific computer based on Hardware ID. What .NET software protector would be a good choice for this scenario ? I came after Themida and VMProtector which I found to be promising. What is your opinion about the security options that these software offer with respect to the impact they have on the executable's run-time performance? Do you know any other available tool suitable for the case I am describing ?

closed as primarily opinion-based by peter ferrie, perror, dingo_kinznerhook, 0xC0000022L May 11 at 22:13

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.