Pathname independent probing of binaries
AssigneeRed Hat, Inc.
InventorsFrank Eigler, Aaron Merey
Life of this patent
Estimating the term…
Abstract
A system includes one or more processors in communication with a memory and configured to receive a task to probe a portion of the memory associated with a version of a binary file during execution of the binary file. The task includes a portion of object code and a hash identifier, both associated with the version of the binary file. A database mapping hash identifiers to debug information associated with installed binary files is accessed. Debug information for the version of the binary file associated with the hash identifier is retrieved. A probing application is built using the debug information and the portion of object code. Upon execution of the version of the binary file, the probing application places the object code into the portion of the memory.
Claims20
A computer implemented method, comprising:
- receiving a task, wherein the task includes a portion of object code associated with a version of a binary file and a hash identifier associated with the version of the binary file;
- accessing a database mapping hash identifier to respective debug information associated with each version of one or more installed binary files;
- retrieving, via the database, debug information for the version of the binary file associated with the hash identifier;
- and
- building a probing application, using the debug information, including the portion of object code, wherein in response to detecting a system call related to a request for starting execution of the version of the binary file loaded in a portion of a memory, the probing application places the object code, into the portion of the memory storing the version of the binary file, before a start of the execution of the version of the binary file.
A system, comprising:
- a memory;
- and
- one or more processors in communication with the memory, wherein the one or more processors are configured to:
- receive a task, wherein the task includes a portion of object code associated with a version of a binary file and a hash identifier associated with the version of the binary file;
- access a database mapping hash identifiers to respective debug information associated with each version of one or more installed binary files;
- retrieve, via the database, debug information for the version of the binary file associated with the hash identifier;
- and
- build a probing application, using the debug information, including the portion of object code, wherein in response to detecting a system call related to a request for starting execution of the version of the binary file loaded in a portion of the memory, the probing application places the object code, into the portion of the memory storing the version of the binary file, before a start of the execution of the version of the binary file.
A system, comprising:
- a memory;
- one or more processors in communication with the memory;
- and
- an operating system to execute on the one or more processors, wherein the one or more processors are configured to execute a probing application to:
- monitor system calls of the operating system for a system call related to a request for starting execution of a binary file, wherein the binary file is associated with a build identifier and loaded into a portion of the memory;
- in response to detecting the system call, decode the portion of the memory storing the binary file to determine whether the binary file is associated with the build identifier;
- and
- upon determining that the binary file corresponds to the build identifier, which identifies a history of builds, load a portion of object code into the portion of the memory storing the binary file before a start of the execution of the binary file, wherein the portion of object code modifies a functionality of the binary file during execution.
Dependencies are inferred from the claim text.