Hack Forums
[Java] JObfuscator Java Source Code Obfuscator - Printable Version

+- Hack Forums (https://hackforums.net)
+-- Forum: Tech (https://hackforums.net/forumdisplay.php?fid=444)
+--- Forum: Coding (https://hackforums.net/forumdisplay.php?fid=151)
+---- Forum: Software Development (https://hackforums.net/forumdisplay.php?fid=118)
+---- Thread: [Java] JObfuscator Java Source Code Obfuscator (/showthread.php?tid=6165583)

Pages: Pages 1 2


JObfuscator Java Source Code Obfuscator - PELock - Jul 28, 2021

JObfuscator is a source code obfuscator for the Java language. Protect Java source code & algorithms from hacking, cracking, reverse engineering, decompilation & technology theft.

https://www.pelock.com/products/jobfuscator

API for automation (PHP & Python)

https://www.pelock.com/products/jobfuscator/api

Windows & Linux clients

https://www.pelock.com/products/jobfuscator/download

Engine changes

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 changes

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



RE: JObfuscator Java Source Code Obfuscator - GenericSkid - Jul 29, 2021

Why are you obfuscating on the source level and not the bytecode level? Also its really weird that its a fully online service but still bundled as a client executable that sends a bunch of API POST requests. Could just be a web service at this point tbh.


RE: JObfuscator Java Source Code Obfuscator - PELock - Jul 31, 2021

Engine history

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, ... };.

(Jul 29, 2021 06:42 PM)GenericSkid Wrote:  Why are you obfuscating on the source level and not the bytecode level?

Because that's how I design it. Most if not all Java obfuscators are bytecode obfuscators, I wanted to do something different and I'm really into source code processing and modification. Bytecode and source obfuscations gives you different opportunities

(Jul 29, 2021 06:42 PM)GenericSkid Wrote:  Also its really weird that its a fully online service but still bundled as a client executable that sends a bunch of API POST requests. Could just be a web service at this point tbh.

It's called SaaS (Software as a Service) and those requests are (a single one to be precise) Web API calls into our fully documented API interface

https://www.pelock.com/products/jobfuscator/api

More clients for the Web API - the better for the customers.


RE: JObfuscator Java Source Code Obfuscator - GenericSkid - Jul 31, 2021

(Jul 31, 2021 12:42 PM)PELock Wrote:  Because that's how I design it. Most if not all Java obfuscators are bytecode obfuscators, I wanted to do something different and I'm really into source code processing and modification.

Respectable point. Most of the AST parsing libraries I've seen have limitations that would make it hard to compete with the capabilities of a bytecode level obfuscator. If you roll your own that's an impressive amount of work.


RE: JObfuscator Java Source Code Obfuscator - PELock - Jul 31, 2021

(Jul 31, 2021 02:09 PM)GenericSkid Wrote:  Respectable point. Most of the AST parsing libraries I've seen have limitations that would make it hard to compete with the capabilities of a bytecode level obfuscator. If you roll your own that's an impressive amount of work.

Thank you. I know about those limitations, for example, JVM has a goto opcode, while there is no real goto in Java language. Most of the Java bytecode obfuscators repeat blindly all the known patterns in the obfuscation world like XORing constants, using goto opcode, I would love to add something unique to this genre and I slowly work on improvements. I think most obfuscators are missing obfuscations based on floating points calculations and that would be my goal to add new kinds of obfuscations.

More changes

Engine history

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)

Sample generated code https://pastebin.com/b74t4T77


RE: JObfuscator Java Source Code Obfuscator - PELock - Aug 5, 2021

Engine history

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

Sample obfuscated output with floating-point obfuscations https://pastebin.com/DxYRN7cZ


RE: JObfuscator Java Source Code Obfuscator - PELock - Aug 17, 2021

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 };



RE: JObfuscator Java Source Code Obfuscator - PELock - Oct 19, 2021

v1.08 - 19.10.2021

Fixed a bug in methods renaming within the same class in our JObfuscator a Java source code #obfuscator

Free activation code 9D9A-81E5-2382-376C

https://www.pelock.com/jobfuscator/


RE: JObfuscator Java Source Code Obfuscator - yeah007 - Nov 11, 2021

I really need this for my java programs.


RE: JObfuscator Java Source Code Obfuscator - PELock - Dec 26, 2021

Thank you! Why not buy it and support its development?


RE: JObfuscator Java Source Code Obfuscator - PELock - Aug 24, 2022

Come play with out obfuscator and try to deobfuscate this code

https://dev.to/bartosz/java-obfuscation-puzzle-1193

The winning price is the free activation code!


RE: JObfuscator Java Source Code Obfuscator - MavenGradle - Aug 24, 2022

(Aug 24, 2022 02:58 PM)PELock Wrote:  Come play with out obfuscator and try to deobfuscate this code

https://dev.to/bartosz/java-obfuscation-puzzle-1193

The winning price is the free activation code!

Code
    public static void main(String[] args) 
     { 
        double[] numArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 
        double SD = calculateSD(numArray); 
        System.out.format("Standard Deviation = %.6f", SD); 
    } 
    public static double calculateSD(double numArray[]) 
    { 
        double sum = 0.0, standardDeviation = 0.0; 
        int length = numArray.length; 
        for(double num : numArray) 
         { 
            sum += num; 
        } 
        double mean = sum/length; 
        for(double num: numArray)  
        { 
            standardDeviation += Math.pow(num - mean, 2); 
        } 
        return Math.sqrt(standardDeviation/length); 
    }



RE: JObfuscator Java Source Code Obfuscator - PELock - Aug 24, 2022

The original source code was listed here https://www.pelock.com/products/jobfuscator

I know about that. You won the jerk award of the month, enjoy your cleverness :D


RE: JObfuscator Java Source Code Obfuscator - MavenGradle - Aug 24, 2022

(Aug 24, 2022 03:45 PM)PELock Wrote:  The original source code was listed here https://www.pelock.com/products/jobfuscator

I know about that. You won the jerk award of the month, enjoy your cleverness :D

I guess you're breaking the HF rules by not giving away the license key then. It's a complete deobfuscation and perfectly readable reply with the exact code / answer you were looking for.

Anyway. If you want to make the challenge more interesting, seeing how I restored the original code as you requested, why not write and then obfuscate something different than what you listed on your site?

I could also just do a Sysoutprintln with the calculation hardcoded as a string if it makes you feel any better?

Ps, the rules regarding giveaways:
https://hackforums.net/allhelp.php

Quote:Contests past their due time i.e. fake;



RE: JObfuscator Java Source Code Obfuscator - PELock - Aug 25, 2022

You didn't deobfuscate shit, how did you come up with the original names of the variables if they were completely removed? I tell you how - you did take it from my website. So technically you didn't deobfuscate it, just copied the original source from my website (my mistake).

Your winning prize - the idiot of the year award :D

Now cry me a f****** river!