.NET copy protection

前端 未结 8 1134
野性不改
野性不改 2020-12-15 02:12

Is it possible to restrict a .NET executable to a specific machine somehow so that it can only be run on that machine.

8条回答
  •  猫巷女王i
    2020-12-15 02:46

    .NET is awful because it's so easy to reverse it back to source code with commonly-available tools. (We do a demo where we crack .NET in about 2 minutes). Cyril's solution sounds good because he's using encryption and a hash of fingerprints to the target machine. These solutions regrettably are vulnerable to some kinds of man-in-the-middle attacks although his solution sounds better than most. One problem with machine binding is that the fingerprinting tokens you want to use (like MAC address, CPU serial number, etc) must be retrieved with OS calls, which can be spoofed by a mid-level cracker.

    Depending on the $ value of your software using a good dongle like CodeMeter, Hasp HL, or KeyLok will give you significant protection. Using a "bad" dongle won't help you a bit, though.

提交回复
热议问题