Runtime Code Hooking
First Claim
Patent Images
1. A method comprising:
- locating a target function to modify on a computing device, the target function compiled to include a place holder instruction to enable hooking a hook function to the target function;
identifying the hook function to execute when a call is made to the target function; and
overwriting the place holder instruction of the target function with instruction to cause execution of the hook function.
2 Assignments
0 Petitions
Accused Products
Abstract
Runtime code hooking techniques are described in which a place holder instruction within a compiled module is used as an entry point to enable code hooking. A hook function to modify a target function is developed. At runtime, the target function to be modified is located. A place holder instruction within the target function is overwritten with instructions to cause execution of the hook function when the target function is called.
73 Citations
20 Claims
-
1. A method comprising:
-
locating a target function to modify on a computing device, the target function compiled to include a place holder instruction to enable hooking a hook function to the target function; identifying the hook function to execute when a call is made to the target function; and overwriting the place holder instruction of the target function with instruction to cause execution of the hook function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more computer-readable media comprising instructions that are stored thereon and are executable to:
-
call one or more application programming interfaces (APIs) of an operating system of the computing device to receive a memory location of a target function to be modified on the computing device, the target function compiled to include a place holder instruction to enable hooking of a hook function to the target function; and overwrite the place holder instruction of the target function with a jump instruction to cause execution of the hook function. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computing device comprising:
-
a processor; memory storing; an operating system having a print subsystem; a hook function configured to modify printing functionality provided at least in part through the print subsystem; and one or more modules stored in the memory and executable via the processor to; receive information to identify the hook function and a target function to modify on the computing device with the hook function, the target function compiled to include a place holder instruction to enable the modification; at runtime, call one or more application programming interfaces (APIs) of the operating system to; locate the target function; and overwrite the place holder instruction of the target function with instructions to cause execution of the hook function when the target function is called. - View Dependent Claims (17, 18, 19, 20)
-
Specification