1. A method of preventing a tampered application from causing harm to a computer system, the method comprising: inputting application code of the tampered application into a code analyzer; analyzing the application code by examining a plurality of functions in the code; creating a plurality of profiles, wherein a function has a related profile, a profile being a description of how a function is intended to operate; and using a first set of functions that are called by the functions and second set of functions that call the function to create a plurality of replacement functions.