Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Easiest way to limit executable to running on a certain computer

Tags:

c++

security

I am trying to create an executable that will only run on one machine. What is the easiest way to achieve this? A license file? Or is there a machine address much like the MAC for network connections I could hardcode into the executable?

like image 994
Cookie Avatar asked Sep 07 '11 16:09

Cookie


1 Answers

If it will run on only one machine, then... simply secure the machine and only store the executable on this machine.

That's, unfortunately, about the only reliable method.


Longer answer:

  • bits can be copied
  • programs can be dissassembled
  • dissassembly can be reverse engineered (though it's sometimes long)
  • the cost of reverse engineering can be made higher than the value produced by the program, possibly at a higher cost that the value produced by the program.

If you look long enough at the software industry:

  • DRM: fail
  • Licenses: fail
  • Licenses with web activation: fail

If it's worth cracking, it'll get cracked.

like image 124
Matthieu M. Avatar answered Oct 19 '22 14:10

Matthieu M.