1. A computing device configured for replacing a target method in intermediate language code, comprising: a processor; a memory in electronic communication with the processor; instructions stored in the memory, the instructions being executable to: import a hook method and hook type into a caller module; obtain a hook method token in the caller module, wherein a token is an integer number that describes a managed function, a managed property, or a managed instance; replace, in intermediate language code, any call to the target method in a caller method body with a call to the hook method to generate modified intermediate language code, wherein replacing a call to the target method in a caller method body with a call to the hook method comprises substituting a target method token with the hook method token; compile the modified intermediate language code to assembly language code, wherein compiling the modified intermediate language code comprises recompiling the modified intermediate language code by a just-in-time (JIT) compiler; and call the hook method in place of the target method.