1. A method of preventing a tampered application from causing harm to a computer system, the method comprising: analyzing compiled source code by examining a plurality of functions in the source code, said analyzing executed by a processor wherein compiled source code is obtained using a suitable compiler depending on source code language; for a specific function from the plurality of functions, utilizing a code analyzer to identify a set of calling functions and a set of called functions wherein each called function is considered a verified called function and each calling function is considered a verified calling function said utilizing executed by the processor; generating a profile for the specific function, said profile indicating correct behavior of the specific function and including the set of calling functions and the set of called functions; further comprising running object code of the application through a linker utility program to replace the function being called with the stub; executing the compiled source code wherein when the specific function executes and calls a first function which is verified as a legitimate called function by examining the profile of the specific function a first stub function executes instead of the first function; and preventing the tampered application from allowing malware to be installed on the computer system or from allowing malicious functions to execute on the computer system.