Obfuscation techniques for enhancing software security
AssigneeIntertrust Technologies Corporation
InventorsChristian Sven Collberg, Clark David Thomborson, Douglas Wai Kok Low
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntertrust Technologies Corporation
InventorsChristian Sven Collberg, Clark David Thomborson, Douglas Wai Kok Low
Estimating the term…
The present invention provides obfuscation techniques for enhancing software security. In one embodiment, a method for obfuscation techniques for enhancing software security includes selecting a subset of code (e.g., compiled source code of an application) to obfuscate, and obfuscating the selected subset of the code. The obfuscating includes applying an obfuscating transformation to the selected subset of the code. The transformed code can be weakly equivalent to the untransformed code. The applied transformation can be selected based on a desired level of security (e.g., resistance to reverse engineering). The applied transformation can include a control transformation that can be creating using opaque constructs, which can be constructed using aliasing and concurrency techniques. Accordingly, the code can be obfuscated for enhanced software security based on a desired level of obfuscation (e.g., based on a desired potency, resilience, and cost).
A computer implemented method for obfuscating code, comprising:
A computer program embodied on a computer-readable medium for obfuscating code, comprising:
An apparatus for obfuscating code, comprising:
A computer-implemented method for obfuscating computer code, the method including:
A computer-implemented method for obfuscating computer code, the method including:
A computer program product for obfuscating a computer program or a computer program module, the computer program product including:
A computer-implemented method for obfuscating computer code, the method including:
A computer-implemented method for obfuscating computer code, the method including:
A method of obfuscating a computer program or computer program module, the computer program or module containing a first variable of a first type, the method including:
A method of obfuscating a computer program or module, the computer program or module including a first procedure containing a first local variable of a first type and a second procedure containing a second local variable of a second type, the method including:
A method of obfuscating a computer program or module, the computer program or module including at least one reference to a first instance of an indexed data type, the first instance of the indexed data type including at least two elements, the method including:
A method of obfuscating a computer program or module, the computer program or module including at least one reference to a first instance of an indexed data type and at least one reference to a second instance of the indexed data type, the method including:
A method of obfuscating a computer program or module, the computer program or module including a first instance of an indexed data type, the first instance having n dimensions, the method including:
A method of obfuscating a computer program or module, the computer program or module being designed to carry out one or more specified tasks and including a first thread, the method including:
A method of obfuscating a computer program or module, the computer program or module being designed to carry out one or more specified tasks, the computer program or module containing at least one variable used in at least one process, the variable being set to an initial value, the method including:
A method of obfuscating a computer program or module, the computer program or module containing a variable of a first type, the method including:
A method of obfuscating a computer program or module, the computer program or module including a first character string, the method including:
A method of obfuscating a computer program or module, the computer program or module including a first variable and a second variable, the method including:
A method of obfuscating a computer program or module, the computer program or module including a first variable, the method including:
A method of obfuscating a computer program or module, the computer program or module including a first variable value used in a first indexing operation on an instance of an indexed data type, the method including:
A method of obfuscating a computer program or module, the computer program or module including a loop, the method including:
A method of obfuscating a computer program or module, the method including:
A method of obfuscating a computer program or module, the method including:
A method of obfuscating a computer program or module, the method including:
A method of obfuscating a computer program or module, the computer program or module including programming statements written in a first language, the method including:
A process for obfuscating a computer program or module, the computer program or module including at least one call to a method in a first library class, the process including:
A method of obfuscating a computer program or module, the method including:
A method of obfuscating a computer program or module, the computer program or module including a call to a particular procedure, the particular procedure being one of a group of procedures, the method including:
A method of obfuscating a computer program or module, the computer program or module including a first procedure and a second procedure, the method including:
A method of obfuscating a computer program or module, the computer program or module including a loop, the loop including a body containing at least a first programming statement and a second programming statement, the method including:
A method of obfuscating a computer program or computer program module, the computer program or module including at least a first class, the method including:
A method of deobfuscating an obfuscated computer program or computer program module, the method including:
A method of deobfuscating an obfuscated computer program or computer program module, the method including:
A method of obfuscating a computer program or computer program module, the computer program or module being designed to carry out one or more specified tasks, the method including:
Dependencies are inferred from the claim text.