| CPC G06F 21/14 (2013.01) [G06F 8/427 (2013.01)] | 20 Claims |

|
1. A method comprising:
receiving, by a design obfuscation system, software code to be compiled on a system running a software compiler;
parsing, by the design obfuscation system, the software code using an abstract syntax tree parser to identify design patterns in the software code, wherein the design patterns comprise relationships between classes in a class hierarchy;
generating, by the design obfuscation system, obfuscated code from at least a portion of the software code by:
creating a compilation class;
creating a package class that depends from the compilation class;
declaring replacement packages in the package class that replace the identified design patterns with modified class structures; and
creating an import class that imports packages necessary to compile the replacement packages;
wherein the obfuscated code, when decompiled, avoids identification of the design patterns in the software code;
providing the obfuscated code to the software compiler for compiling; and
compiling the obfuscated code by the software compiler, wherein the method is performed by at least one processing device comprising a processor coupled to a memory.
|