Back to results
US 8,479,295 B2Granted
Method and apparatus for transparently instrumenting an application program
AssigneeIntel Corporation
InventorsRavi L. Sahita, David M. Durham, Prashant Dewan, Manohar R. Castelino
Life of this patent
Estimating the term…
Abstract
Generally, this disclosure describes systems and methods for transparently instrumenting a computer process. The systems and methods are configured to allow instrumenting executable code while permitting legacy memory scanning tools to monitor corresponding uninstrumented executable code stored in memory.
Claims19
A method, comprising:
- storing, by a processor, at least a portion of an executable application program in a host system physical memory at a first host physical address;
- instrumenting, by the processor, a copy of said portion of said executable application program and storing said instrumented copy in said host system physical memory at a second host physical address;
- setting, by the processor, a corresponding access permission to read only for said first host physical address and setting a corresponding access permission to execute only for said second host physical address;
- executing, by the processor, said instrumented copy or reading said portion of said executable application program based, at least in part, on said access permissions;
- generating, by the processor, a first extended page table associated with said first host physical address and a second extended page table associated with said second host physical address;
- and
- instrumenting, by the processor, a memory scanner with a first instruction, said first instruction configured to select said first extended page table,
- wherein said memory scanner is configured to read said portion of said executable application program and said first instruction is configured to be executed prior to said memory scanner reading said portion of said executable application program.
5 more elements
system comprising:
- one or more processors;
- one or more storage devices having stored thereon, individually or in combination, instructions that, when executed by one or more processors, result in the following operations comprising:
- storing at least a portion of an executable application program in a host system physical memory at a first host physical address;
- instrumenting a copy of said portion of said executable application program and storing said instrumented copy in said host system physical memory at a second host physical address;
- setting a corresponding access permission to read only for said first host physical address and setting a corresponding access permission to execute only for said second host physical address;
- executing said instrumented copy or reading said portion of said executable application program based, at least in part, on said access permissions;
- generating a first extended page table associated with said first host physical address and a second extended page table associated with said second host physical address;
- and
- instrumenting a memory scanner with a first instruction, said first instruction configured to select said first extended page table,
- wherein said memory scanner is configured to read said portion of said executable application program and said first instruction is configured to be executed prior to said memory scanner reading said portion of said executable application program.
7 more elements
A system, comprising:
- host physical memory;
- and
- a processor configured to:
- store at least a portion of an executable application program in said host system physical memory at a first host physical address;
- instrument a copy of said portion of said executable application program and store said instrumented copy in said host system physical memory at a second host physical address;
- set a corresponding access permission to read only for said first host physical address and set a corresponding access permission to execute only for said second host physical address;
- and
- execute said instrumented copy or read said portion of said executable application program based, at least in part, on said access permissions;
- generate a first extended page table associated with said first host physical address and a second extended page table associated with said second host physical address;
- and
- instrument a memory scanner with a first instruction, said first instruction configured to select said first extended page table,
- wherein said memory scanner is configured to read said portion of said executable application program and said first instruction is configured to be executed prior to said memory scanner reading said portion of said executable application program.
9 more elements
Dependencies are inferred from the claim text.