MAIN FEATURES of FLATCODE JOB
1 Obfuscation
of java byte code by control-flow flattening
statement
3. Run time decryption of flow
dispatching information
4 Post obfuscation modification of class byte codes with
5
Additional obfuscation using other
techniques
6 Possibility
to select the methods to be obfuscated
7 Debugging of the obfuscated
application by means of
a simple in-house profiling
agent
7 Encryption of String constants
8
Creation of Jar Archives
9
Renaming of classes, methods, and variables
10
Adaptation of property files to renamed classes
11
Renaming with and without code flattening
12
User-friendly graphical interface
Note: The FlatCode Java Obfuscator is an example of a program
obfuscated by this technique.
REQUIREMENTS
- Any PC that can run Java Development Kit
- Java Development Kit version 1.8 (32-bit)
- Disk space required ~60.0 MB
Limitations
of version 5.0
- No obfuscation of small methods (usually up to 3 nodes in the method's control flow graph). In fact, the obfuscation of such methods by control flow flattening is not so effective. On the other hand, small methods, as a rule, do not contain much intellectual property that should be protected .