SYSTEM AND METHOD FOR DEFENDING AGAINST REVERSE ENGINEERING OF SOFTWARE, FIRMWARE AND HARDWARE
First Claim
1. A method for defending a software against reverse engineering in a target environment comprising:
- acquiring information from said target environment;
encrypting said software with said acquired information;
sending said encrypted software with said acquired information to an execution environment;
acquiring information from said execution environment;
authenticating said execution environment as the target environment by comparing said acquired information from said execution environment with said acquired information from said target environment; and
if said two set of information match, decrypting said software.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for defending a software against reverse engineering in a target environment includes acquiring information from the target environment, encrypting the software to be protected with the acquired information, sending the encrypted software with the acquired information to an execution environment, acquiring information from the execution environment, comparing the information from the execution environment with the acquired information from the target environment to authenticate the execution environment as the target environment, and if the two set of information match, decrypting the software to be protected, and if two set of information do not match, destroying said software.
25 Citations
7 Claims
-
1. A method for defending a software against reverse engineering in a target environment comprising:
-
acquiring information from said target environment; encrypting said software with said acquired information; sending said encrypted software with said acquired information to an execution environment; acquiring information from said execution environment; authenticating said execution environment as the target environment by comparing said acquired information from said execution environment with said acquired information from said target environment; and if said two set of information match, decrypting said software. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A random obfuscating compiler (ROC) system for defending a software against reverse engineering in a target environment comprising:
-
a server for generating one or more ANGELS for acquiring information from the target site, wherein said server comprises a compiler for compiling said software to be protected and said acquired information to an obfuscated executable program, wherein said compiler encrypts said obfuscated executable program, wherein said obfuscated executable program is adapted to acquire information from an execution environment and authenticate said execution environment as said target environment by comparing said acquired information from said execution environment with said acquired information from said target environment by said ANGELS.
-
Specification