Method for preventing software reverse engineering, unauthorized modification, and runtime data interception
First Claim
Patent Images
1. A method for preventing unauthorized modification of a software or unauthorized modification of runtime data, comprising:
- providing a converter capable of converting the software into a generalized machine code, that cannot be reverse engineered, by using a conversion process that causes data loss;
providing an interpreter, wherein knowledge of the interpreter'"'"'s process method is kept restricted, wherein the interpreter is implemented as an interpreter-based programming language software component for maintaining the same level of portability as the software, and wherein the interpreter is formed by choosing a complete instruction subset out of a redundant instruction set, and by dynamically generating the converter and the interpreter implementation; and
interpreting, by the interpreter, the generalized machine code into a specific machine code while reconstructing the data lost during the conversion process.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for preventing the unauthorized modification of a software or unauthorized modification of runtime data. According to this method, a converter, which is capable of converting the software into a generalized machine code is provided. The converter is designed such that it cannot he reverse engineered, by using a conversion process that causes data loss. An interpreter, which the knowledge of its process method is kept restricted, is also provided. The interpreter interprets the general machine code into a specific machine code, while reconstructing the lost data during the interpretation process.
25 Citations
19 Claims
-
1. A method for preventing unauthorized modification of a software or unauthorized modification of runtime data, comprising:
-
providing a converter capable of converting the software into a generalized machine code, that cannot be reverse engineered, by using a conversion process that causes data loss; providing an interpreter, wherein knowledge of the interpreter'"'"'s process method is kept restricted, wherein the interpreter is implemented as an interpreter-based programming language software component for maintaining the same level of portability as the software, and wherein the interpreter is formed by choosing a complete instruction subset out of a redundant instruction set, and by dynamically generating the converter and the interpreter implementation; and interpreting, by the interpreter, the generalized machine code into a specific machine code while reconstructing the data lost during the conversion process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium, excluding signals, storing executable instructions that, when executed by a processor, prevent unauthorized modification of a software or unauthorized modification of runtime data, the computer-readable medium storing the executable instructions executable by the processor to:
-
provide a converter capable of converting the software into a generalized machine code, that cannot be reverse engineered, by using a conversion process that causes data loss; provide an interpreter, wherein knowledge of the interpreter'"'"'s process method is kept restricted, wherein the interpreter is implemented as an interpreter-based programming language software component for maintaining the same level of portability as the software, and wherein the interpreter is formed by choosing a complete instruction subset out of a redundant instruction set, and by dynamically generating the converter and the interpreter implementation; and interpret, by the interpreter, the generalized machine code into a specific machine code while reconstructing the data lost during the conversion process. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification