System, method and computer program product for on-the-fly patching of executable code
US8015558B1 · kind B1 · utility
Assignee
Inventors
Key dates
| Filing date | Dec 16, 2008 |
| Grant date | Sep 6, 2011 |
| Priority date | — |
| Expiry date | Dec 16, 2029 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F8/656
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A method of on-the-fly patching of executable code includes placing a block of modified instructions in memory, identifying a block of code to be changed, storing instructions to be changed from the block of code to be changed in a storage location, change the instructions to be changed to mark instructions, and adding a jump to the block of modified instructions in the block of code to be changed. Prior to the placing and the identifying steps, a write flag for a page in memory where the block of code to be changed is located is set to allow writes, and interrupts are masked. The instructions are replaced in reverse order. The mark instructions are the same length, in bytes, as the instructions to be changed. The modified instructions include a resolver to determine a number of instructions of the block of code to be changed that had already been executed. If the number is less than a number of instructions to be changed, then a “no patch installed” scenario is imitated.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.