What is Flow Obfuscation?
Allatori as a second generation Java obfuscator performs flow obfuscation in addition to name obfuscation. It makes slight changes to the bytecode that obscure the control flow without changing what the code does at runtime. Typically, selection and looping constructs are changed so that they no longer have a direct Java source code equivalent. Flow obfuscated bytecode typically forces decompilers to insert a series of labels and illegal ‘goto’ statements into the source code they produce. The source code is sometimes further obscured by decompiler errors.