The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Jun. 22, 2021

Filed:

Dec. 11, 2015
Applicants:

Sudeep Ghosh, Kirkland, WA (US);

Jason D. Hiser, Charlottesville, VA (US);

Jack W. Davidson, Charlottesville, VA (US);

Inventors:

Sudeep Ghosh, Kirkland, WA (US);

Jason D. Hiser, Charlottesville, VA (US);

Jack W. Davidson, Charlottesville, VA (US);

Assignee:

UNIVERSITY OF VIRGINIA PATENT FOUNDATION, Charlottesville, VA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 21/54 (2013.01); G06F 21/53 (2013.01); G06F 9/455 (2018.01);
U.S. Cl.
CPC ...
G06F 21/53 (2013.01); G06F 9/45558 (2013.01); G06F 21/54 (2013.01); G06F 2009/45591 (2013.01);
Abstract

According to some illustrative embodiments, a method for blending the data of an execution environment and the data of the protected application includes modifying the data values of the protected application using the values of the execution environment in a semantically-neutral manner or modifying the data values of the execution environment using the values of the protected application in a semantically-neutral manner. In some other embodiments, a computer implemented method for binding an execution environment and a protected application includes: selecting at least one instruction from an instruction set of the protected application; selecting at least one context from within the protected application; assigning a new meaning to the selected at least one instruction for the selected at least one context; transforming a program to use the new meaning for the selected at least one instruction and the selected at least one context; and executing the program with the execution environment that knows the newly assigned selected at least one instruction and selected at least one context. In the preferred embodiments, the execution environment comprises any combination of a process-level virtual machine, a system-level virtual machine, a hypervisor, a simulator, an emulator, or a just-in-time compilation system.


Find Patent Forward Citations

Loading…