1. A method of protecting computer program code, comprising the acts of: providing a file of computer program code which defines at least one set of memory locations; modifying a portion of the code which accesses the set of memory locations by replacing or copying the content of at least some of the memory locations with a variable; and at a later portion of the code, replacing with or copying each variable to the corresponding memory location.