Method and system for facilitating replacement of system calls

US10007782B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10007782-B2
Application numberUS-201715590582-A
CountryUS
Kind codeB2
Filing dateMay 9, 2017
Priority dateAug 24, 2012
Publication dateJun 26, 2018
Grant dateJun 26, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

One embodiment of the present invention provides system for facilitating replacement of a system function in an application with a customized function. During operation, the system shifts an existing load command in a file of an application to accommodate an additional load command. The system also adds the additional load command to the file. The additional load command identifies additional instructions that change a pointer of the application from a value that points to a system function to another value that points to a customized function.

First claim

Opening claim text (preview).

Therefore, the following is claimed: 1. A non-transitory computer readable medium storing instructions for replacement of at least one system function in an application with at least one customized function that causes the application to enforce at least one policy, the instructions, when executed by at least one processor, cause the at least one processor to: shift at least one existing load command in a file of the application away from a header of the file, the shift moving the at least one existing load command to a different location to accommodate at least one additional load command; add the at least one additional load command to the file, wherein the at least one additional load command identifies additional instructions that when executed cause the at least one processor to change at least one pointer of the application from a first value that points to the at least one system function to second value that points to the at least one customized function; and wherein the application is executed with the at least one customized function in an operating system to bypass at least one operating system restriction and enforce the at least one policy using the at least one customized function, and invocation of the at least one system function is preemptively redirected to the at least one customized function based at least in part on the at least one pointer that is changed. 2. The non-transitory computer readable medium of claim 1 , wherein when executed the instructions further cause the at least one processor to modify the header of the file to include a description of the at least one additional load command. 3. The non-transitory computer readable medium of claim 1 , wherein when executed the instructions further cause the at least one processor to: shift at least one segment of a data portion in the file; and update at least one offset corresponding to the at least one segment. 4. The non-transitory computer readable medium of claim 1 , wherein the at least one existing load command comprises a signature load command, and wherein when executed the instructions further cause the at least one processor to compute a new signature for the file and overwrite the signature load command. 5. The non-transitory computer readable medium of claim 1 , wherein the at least one pointer comprises a pointer defined in an import table for a library identified in the at least one existing load command. 6. The non-transitory computer readable medium of claim 1 , wherein the at least one pointer comprises a pointer defined in the file of the application. 7. The non-transitory computer readable medium of claim 1 , wherein when executed the additional instructions further cause the at least one processor to determine a symbol value associated with the at least one system function and reference a table that maps the symbol value to the at least one customized function to change the at least one pointer of the application. 8. A system for replacement of at least one system function in an application with at least one customized function that causes the application to enforce at least one policy, the system comprising: at least one processor; and a storage device storing instructions that when executed by the at least one processor, cause the at least one processor to: shift at least one existing load command in a file of the application away from a header of the file, the shift moving the at least one existing load command to a different location to accommodate at least one additional load command; add the at least one additional load command to the file, wherein the at least one additional load command identifies additional instructions that when executed cause the at least one processor to change at least one pointer of the application from a first value that points to the at least one system function to second value that points to the at least one customized function; and wherein the application is executed with the at least one customized function in an operating system to bypass at least one operating system restriction and enforce the at least one policy using the at least one customized function, and invocation of the at least one system function is preemptively redirected to the at least one customized function based at least in part on the at least one pointer that is changed. 9. The system of claim 8 , wherein when executed the instructions further cause the at least one processor to modify the header of the file to include a description of the at least one additional load command. 10. The system of claim 8 , wherein when executed the instructions further cause the at least one processor to: shift at least one segment of a data portion in the file; and update at least one offset corresponding to the at least one segment. 11. The system of claim 8 , wherein the at least one existing load command comprises a signature load command, and wherein when executed the instructions further cause the at least one processor to compute a new signature for the file and overwrite the signature load command. 12. The system of claim 8 , wherein the at least one pointer comprises a pointer defined in an import table for a library identified in the at least one existing load command. 13. The system of claim 8 , wherein the at least one pointer comprises a pointer defined in the file of the application. 14. The system of claim 8 , wherein when executed the additional instructions further cause the at least one processor to determine a symbol value associated with the at least one system function and reference a table that maps the symbol value to the at least one customized custom function to change the at least one pointer of the application. 15. A computer-implemented method for replacement of at least one system function in an application with at least one customized function that causes the application to enforce at least one policy, the method comprising: shifting at least one existing load command in a file of the application away from a header of the file, the shifting comprising moving the at least one existing load command to a different location to accommodate at least one additional load command; adding the at least one additional load command to the file, wherein the at least one additional load command identifies additional instructions that when executed cause at least one processor to change at least one pointer of the application from a first value that points to the at least one system function to second value that points to the at least one customized function; and wherein the application is executed with the at least one customized function in an operating system to bypass at least one operating system restriction and enforce the at least one policy using the at least one customized function, and invocation of the at least one system function is preemptively redirected to the at least one customized function based at least in part on the at least one pointer that is changed. 16. The computer-implemented method of claim 15 , further comprising modifying the header of the file to include a description of the at least one additional load command. 17. The computer-implemented method of claim 15 , further comprising: shifting at least one segment of a data portion in the file; and updating at least one offset corresponding to the at least one segment. 18. The computer-implemented method of claim 15 , wherein the at least one pointer comprises a pointer defined in an import table for a library identified in the at least one existing load command.

Assignees

Inventors

Classifications

  • Restricted operating environment · CPC title

  • Interprogram communication · CPC title

  • Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII] · CPC title

  • for controlling access to devices or network resources · CPC title

  • G06F8/54Primary

    Link editing before load time · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10007782B2 cover?
One embodiment of the present invention provides system for facilitating replacement of a system function in an application with a customized function. During operation, the system shifts an existing load command in a file of an application to accommodate an additional load command. The system also adds the additional load command to the file. The additional load command identifies additional i…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/54. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 26 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).