Method and system for modifying machine instructions within compiled software
OwnerChris Hughes, Luke Mitchell +1inventors
InventorsChris Hughes, Luke Mitchell, Adam Schroeder
Life of this patent
Estimating the term…
Abstract
A system aid method for modifying a compiled software application to implement additional software code to enhance the functionality of a software application. The system and method comprises receiving a software application binary (601), metadata (602), and modification options (603), analyzing the received components, modifying the software application binary based on the analysis, and returning the modified software application binary (610).
Claims15
A method of modifying software, comprising:
- at a computing device:
- a. receiving a software application binary comprising binary instructions, one or more modification choices of a user, and binary code associated with the one or more modification choices;
- wherein the one or more modification choices comprise:
- inserting the binary code associated with the one or more modification choices into the software application binary, removing one or more binary instructions from the software application binary, and disabling one or more binary instructions in the software application binary;
- b. analyzing the software application binary to determine whether one or more modifications to said binary instructions are required;
- c. if the modifications to the binary instructions are required, automatically modifying the binary instructions in accordance with the one or more modification choices;
- wherein modifying the binary instructions comprises inserting the binary code associated with the one or more modification choices into the software application binary, removing one or more binary instructions from the software application binary, or disabling one or more binary instructions in the software application binary;
- d. removing existing metadata and injecting new metadata into the software application binary, whereby a modified software application binary is generated, wherein the new metadata comprises information specifying how to modify the binary instructions within the software application binary;
- e. compiling the modified software application binary;
- and
- f. returning the modified software application binary.
A non-transitory computer-readable storage medium having stored therein instructions, which when executed by a computing device, cause the computing device to:
- a. receive a software application binary comprising binary instructions, one or more modification choices, and binary code associated with the one or more modification choices;
- wherein the one or more modification choices comprise:
- inserting the binary code associated with the one or more modification choices into the software application binary, removing one or more binary instructions from the software application binary, and disabling one or more binary instructions in the software application binary;
- b. analyze the software application binary to determine whether modifications to said binary instructions are required;
- c. if the modifications to the binary instructions are required, automatically modify the binary instructions in accordance with the one or more modification choices;
- wherein modification of the binary instructions comprises inserting the binary code associated with the one or more modification choices into the binary instructions, removing one or more binary instructions from the software application binary, or disabling one or more binary instructions in the software application binary;
- d. remove existing metadata and inject new metadata into the software application binary, whereby a modified software application binary is generated, wherein the new metadata comprises information specifying how to modify the binary instructions within the software application binary;
- e. compile a modified software application binary;
- and
- f. return the modified software application binary.
Dependencies are inferred from the claim text.