Dynamic injection of code into running process
AssigneeMicrosoft Corporation
InventorsMichael C. Fanning, Christopher M.H. Faucon, Andrew R. Sterland, Timothy S. Rice
Life of this patent
Estimating the term…
Abstract
Techniques are described herein that are capable of dynamically injecting code into a running process. For instance, the techniques are capable of causing arbitrary code to be activated in the process while the process is running in response to receipt of a request for dynamic execution of the arbitrary code from outside the process while the process is running.
Claims20
A method comprising:
- receiving a message in a targeted process from a requesting process that is external to the targeted process while the targeted process is running, the message requesting dynamic execution of arbitrary code in the targeted process, the message including a code identifier that identifies the arbitrary code, the code identifier being useable to locate and activate the arbitrary code;
- and
- causing, using at least one processor, the arbitrary code to be located and activated in the targeted process while the targeted process is running based on the code identifier to provide activated code.
A system comprising:
- an interface module configured to receive a message in a targeted process from a requesting process that is external to the targeted process while the targeted process is running, the message requesting dynamic execution of arbitrary code in the targeted process, the message including a code identifier that identifies the arbitrary code, the code identifier being useable to locate and activate the arbitrary code;
- and
- a causation module, implemented using at least one processor, configured to cause the arbitrary code to be located and activated in the targeted process while the targeted process is running based on the code identifier to provide activated code.
A computer program product comprising a computer-readable medium having computer program logic recorded thereon for enabling a processor-based system to dynamically inject code into a running process, the computer program product comprising:
- a first program logic module for enabling the processor-based system to cause arbitrary code to be located and activated in a targeted process while the targeted process is running to provide activated code based on receipt of a message in the targeted process from a requesting process that is external to the targeted process while the targeted process is running, the message requesting dynamic execution of the arbitrary code in the targeted process, the message including a code identifier that identifies the arbitrary code, the code identifier being useable to locate and activate the arbitrary code;
- and
- a second program logic module for enabling the processor-based system to provide a value that references the activated code, the value being callable by the requesting process to interact with the targeted process while the targeted process continues to run.
Dependencies are inferred from the claim text.