1. A computer-implemented method of producing obfuscated object code, the method comprising: substituting a variable in source code with a class template defining a plurality of functions of the variable, each of the plurality of functions indexed by a key value and associated with a series of operations resulting in an assignment of the variable in a manner obfuscating said assignment, wherein the series of operations reliably returns the variable to an assigned value, wherein a different key value is associated with each one of the plurality of functions defined in the class template, and wherein the method further comprises selecting a key value, which is associated with one of said plurality of functions; and compiling the source code by using a compiler to produce object code, wherein the compiler inserts in the object code the series of operations associated with one of the plurality of functions of the variable identified by the selected key value.