obfuscation
noun
The practice of deliberately rendering software obscure, difficult to analyze and reverse engineer, and, above all, difficult to discern its actual function.