摘要 |
The present invention provides a facility for performing self-patching of computer code in memory. The facility patches a segment of executable code at runtime under the control of the code segment. The code segment has a selected entry point, a patching section, and a patched section. The patching section is provided to patch the patched section in order to change the contents of the patched section. When the code segment is executed a first time at the selected entry point, execution jumps from the beginning of the patched section to a point beyond the patched section to execute the patching section. When the patching section is executed, the patching section patches the patched section. Finally, when the code segment is executed at the selected entry point after the patching section has patched the patch section, the patched section is executed rather than the patching section.
|