JObfuscator version history

JObfuscator version history with changes and bugfixes to the Java obfuscation engine, Windows client versions and WebAPI interface.

Engine history

v1.10 - 09.08.2022

  • Fixed an error in the order of variable declarations when using obfuscation to change the linear path of code execution (thank you Yi Wu)
  • Automatically adding special annotation for IntelliJ IDE @SuppressWarnings(InstanceVariableMayNotBeInitialized) for the non-linear code path obfuscation

v1.09 - 06.02.2022

  • Fixed bug in annotation handling that caused string encryption obfuscation to work incorrectly

v1.08 - 19.10.2021

  • Fixed renaming methods within the same class

v1.07 - 17.08.2021

  • Improved integer to arrays obfuscation by generating multidimensional arrays e.g. int[][] var_3035 = { { 65535 }, { 01, 02, 0b0 } };
  • Improved doubles to arrays obfuscation by generating multidimensional arrays e.g. double[][][] O_ZzBf7_4tcNvh_c = { { { 2.8 } }, { { 1.3 } }, { { 0.06, 3.7, 65535.8 } } };

v1.06 - 16.08.2021

  • Improved non-linear code obfuscation by adding more randomness in it, e.g. random type of loops while(...) {} or do {} while(...) {}

v1.05 - 14.08.2021

  • Fix NaN numbers in integers encryption obfuscation
  • All generated integer type values are now randomly written in decimal, hexadecimal, binary or octal system e.g. int[] mSjhhzs = { 010, 0x01BA7, 0x51, 1521, 0b1100 };

v1.04 - 05.08.2021

  • A new obfuscation strategy. Encrypt all integer values using more than 15 floating point math functions from the java.lang.Math.* class.
  • A new obfuscation strategy. For each method, extract all possible double values from the code and store them in an array.
  • Avoid renaming methods annotated with @Override keyword
  • String encryption obfuscation by default is using now more encryption instructions
  • Multi-pass execution for the integer and double extraction into arrays

v1.03 - 31.07.2021

  • Some integers were not extracted correctly for the integers to arrays obfuscation strategy
  • Multilevel obfuscation of extracted integers into the arrays (into a random number of double and integer arrays)

v1.02 - 30.07.2021

  • An integers to arrays obfuscation strategy, converts the integer values into double values to avoid deobfuscation by popular Java decompilers e.g. double[] var_2597 = new double[]{13.898355719807563D, 65535.73657403742D, ... };

v1.01 - 28.07.2021

  • A new obfuscation strategy. For each method, extract all possible integers from the code and store them in an array. It makes the analysis harder because it requires an indexed table lookup for every numeric value.

v1.0 - 25.07.2021

  • Initial release under the code name "Rome wasn't built in a day"
  • Change linear code execution flow to nonlinear version
  • Rename variable names to random string values
  • Rename method names to random string values
  • Shuffle order of methods in the output source
  • Encrypt strings using randomly generated polymorphic encryption algorithms

Client history

v1.04 - 05.08.2021

  • All clients (Windows, Linux) and SDKs (PHP & Python) updated to include the new obfuscation strategies /IntsMathCrypt & /DblsToArrays

v1.01 - 28.07.2021

  • All clients (Windows, Linux) and SDKs (PHP & Python) updated to include the new obfuscation strategy /IntsToArrays

v1.0 - 25.07.2021

JObfuscator v1.0 main window
  • Initial release
  • Windows client
  • Command line version compatible with Windows and Linux (Mono)
  • WebAPI client with PHP usage examples

Any questions?

If you would like to ask me about JObfuscator, or something's not clear, mail me. I'll be happy to answer all of your questions.