System and method for defending against reverse engineering of software, firmware and hardware
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.
Claims
exact text as granted — not AI-modified1 . 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.
2 . A method according to claim 1 further comprising: if said two set of information do not match, destroying said software.
3 . A method according to claim 1 , wherein said step of encrypting said software with said acquired information comprises generating an obfuscated executable program to incorporate said software with said acquired information using a random obfuscating compiler.
4 . A method according to claim 1 , wherein said step of acquiring information from said target environment includes acquiring information from said target environment through at least one ANGEL.
5 . A method according to claim 1 , wherein said step of acquiring information from said target environment further comprises encrypting said acquired information.
6 . A method according to claim 1 , wherein said step of decrypting said software comprises decrypting said software using a decryption key which is sent to said target environment from a remote location.
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.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.