We will consider completeness and incompleteness of abstract interpretation as models for understanding the phenomenon of hiding information in code protecting transformations and white-box cryptography in a MATE (Man-At-The-End) attack scenario. This is the case in software watermarks and code obfuscation. These code transformations will be are devoted to force incompleteness with respect to an attacker which is modeled as an abstract interpreter. The potency of an attacker consist here in its ability to extract a complete view of program’s execution. The model is general enough to include generic static and dynamic attacks. Known protecting transformations will be systematically derived and implemented by specializing a “distorted” interpreter with respect to the source code to protect. Interestingly the distortion required to protect the code corresponds precisely (and systematically) to the potency of the expected attacker in a clean mathematical correspondence.