Too obvious Again, its fairly trivial for a cracker to remove a checksum routine. If the cracker tests his crack and it breaks the program, the cracker says to himself... ahh! There must be a checksum test somewhere. Then its fairly easy for him to remove that test too. This is why I said it makes your job as a programmer much harder too - if it's done properly. The trick is to make the program break in not so obvious ways, such as making a level impossible to complete, but not the first level - make it later in the game. Pop up a message telling the player the game is an illegal copy after an hour or so of play - make sure the message isn't plain text. Use a combination of things. Don't use the same checksum routine for each of these things - use multiple checksums. This is why it makes the programmers job much harder, but its only worth doing if its done properly. It causes QA problems too.