content: An interesting anti-piracy idea would be interdependent encryption. You start by breaking your product down into a few million chunks of random size. The key for any given chunk is dependent upon a key generated from encrypting the previous or currently resident chunk (ensuring it hasn't been tampered with) combined with a key that is generated by a metric that relies on a legitimate copy - for instance, a naive idea would be a CRC or MD5 or whatever of all contents in some directory. The second step is to ensure you can't break the whole encryption scheme but just making the program's very first check, and thus all future checks, succeed. You end up with millions of checks that would need not to just change a JZ changed to a JNZ but to actually grab the key it's relying on from that check and hard patch it in instead of letting the program dynamically generate it - and all at once, perfectly, since one missed check would create a cascading chain of failure. I think anti piracy is mostly a wasted endeavor, but it's fun mental masturbation trying to create an 'unbreakable' scheme. Although of course absolutely nothing is unbreakable - I just mean very time consuming to break. And schemes like this are the worst. It would have a substantial impact on performance meaning once it is cracked, those with cracked versions would have a more performant product.