Watermarking, tamper-proofing, and obfuscation - tools for software protection | Synapse