Comment Re:Detection (Score 1) 320
One very old scheme is to embed a checksum of the code segment inside the binary itself and then check it at runtime. It's not foolproof but it will identify most pirated copies with zero chance of false positives.
Be carefull with your statement about false positives. Checking the code segment is not as easy as you think: There are shared libraries (e.g. DLLs) loaded in the code segment at runtime. You would have to check them too. Some of these libraries are always provided by the OS and are regularily updated.
Then there are also some completely legit reasons to change the code opf the game: Some AV software embedds itself into programs by changing their bnary code. Some virtualization software changes the code in the VM at runtime. The OS might change some parts of the code to prevent security leaks.
It is not easy to distinguish these actions from hacking the game. But if you don't, legit customers might get hit, after an update of their OS or their AV software.