1. A method of non-intrusively modifying behavior of an executable file containing references to functions located in at least one shared library within a computer without modifying the at least one shared library, comprising: calling, by the executable file, a given function of the at least one shared library; accessing a reference file that links between the executable file and a location where the given function is located, wherein an address of the given function is contained in the reference file; replacing the address with a new address pointing to another function that is located in a services file such that calling of the given function will enable the another function to be run in response to the executable file being run; and responsive to the another function completing, calling the given function such that both the another function and the given function are run in response to the executable file being run, wherein the services file is a new shared library containing exported functions, wherein the computer's operating system loads the new shared library during execution, addresses of the exported functions are stored in local variables of the executable file, wherein the reference file is inserted between the local variables and the exported functions that are operable to be called up by the executable file, the reference file containing the addresses of the exported functions, wherein the reference file is modified by a shared library management module.