ANALYSIS AND CONTROL OF CODE FLOW AND DATA FLOW
First Claim
1. At least one machine readable storage medium comprising code, wherein the code, when executed by at least one processor, cause the at least one processor to:
- decompile object code of a software program on an endpoint to identify one or more branch instructions;
receive a list of one or more modifications associated with the object code, wherein the list of one or more modifications is based, at least in part, on telemetry data related to an execution of corresponding object code on at least one other endpoint; and
modify the object code based on the list and the identified one or more branch instructions to create new object code.
1 Assignment
0 Petitions
Accused Products
Abstract
Technologies are provided in embodiments to analyze and control execution flow. At least some embodiments include decompiling object code of a software program on an endpoint to identify one or more branch instructions, receiving a list of one or more modifications associated with the object code, and modifying the object code based on the list and the identified one or more branch instructions to create new object code. The list of one or more modifications is based, at least in part, on telemetry data related to an execution of corresponding object code on at least one other endpoint. In more specific embodiments, a branch instruction of the one or more branch instructions is identified based, at least in part, on an absence of an instruction in the object code that validates the branch instruction.
29 Citations
25 Claims
-
1. At least one machine readable storage medium comprising code, wherein the code, when executed by at least one processor, cause the at least one processor to:
-
decompile object code of a software program on an endpoint to identify one or more branch instructions; receive a list of one or more modifications associated with the object code, wherein the list of one or more modifications is based, at least in part, on telemetry data related to an execution of corresponding object code on at least one other endpoint; and modify the object code based on the list and the identified one or more branch instructions to create new object code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus for controlling code flow, comprising:
-
at least one processor; and logic coupled to the processor for execution by the processor, the logic to; decompile object code of a software program on the apparatus to identify one or more branch instructions; receive a list of one or more modifications associated with the object code, wherein the list of one or more modifications is based, at least in part, on telemetry data related to an execution of corresponding object code on at least one other endpoint; and modify the object code based on the list and the identified one or more branch instructions to create new object code. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method, comprising:
-
decompiling object code of a software program on an endpoint to identify one or more branch instructions; receiving a list of one or more modifications associated with the object code, wherein the list of one or more modifications is based, at least in part, on telemetry data related to an execution of corresponding object code on at least one other endpoint; and modifying the object code based on the list and the identified one or more branch instructions to create new object code. - View Dependent Claims (19)
-
-
20. A system for analyzing and controlling code flow, the system comprising:
-
a server comprising first logic to; receive telemetry data related to first object code executing on a first endpoint; identify one or more locations in the first object code corresponding to one or more branch instructions; generate a list of one or more modifications to be made to second object code on a second endpoint based, at least in part, on the identified one or more locations; and the second endpoint communicatively coupled to the server, the second endpoint to; receive the list of one or more modifications from the server; and create new object code by modifying the second object code based, at least in part, on the list of one or more modifications. - View Dependent Claims (21, 22, 23, 24)
-
-
25. At least one machine readable storage medium comprising executable instructions, wherein the instructions, when executed by at least one processor, cause the at least one processor to:
-
pause execution of a program on a computing system; determine verification metadata associated with the program, the verification metadata indicated in a metadata sub-page region associated with a primary sub-page region; determine actual metadata associated with the execution of the program; and generate a notification based on the verification metadata not corresponding to the actual metadata.
-
Specification