the process Foo is running. Foo calls a lot of functions (loaded somewhere in RAM). how can a programmer get the names & prototypes of all functions called (or loaded) by Foo?
now suppose the programmer suceeded to identify the function Hitler(int,int) called by Foo. how can the programmer redirect the process, so that it calls Charlie(int,int) instead of Hitler(int,int). so whenever Foo refers to the address of Hitler(int,int) & tries to run it, Charlie(int,int) is called & is run & the process thinks it has called Hitler(int,int)?