Aug 25, 2022 02:55 AM
(This post was last modified: Aug 25, 2022 03:39 AM by MavenGradle.)
(Aug 25, 2022 02:43 AM)PELock Wrote: 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!
Like I said: Make it harder. You're so predictable that I can get the original code with variables and everything using a single brain cell and 1 minute of work. Makes me wonder how good your products really are when you come up with shit like this. Anyone else feel the same way or is it just me?
That's all it took. A single brain cell to get the original source code back. So fix your mistake. And stop calling people idiots when the real idiot is you for posting a simple challenge like this and maybe stop crying about donations ( AsmJit anyone 🙂) too, it's sad.
You're giving your own products a bad name with shit like this and I'm seriously disappointed in you for your marketing. PR is obviously not your strong suit.
In light of this, please watch this beginner's guide:
https://www.youtube.com/watch?v=6bcviGzi84c
What was the goal?
To deobfuscate the code.
What you did? Took the original source from my site.
How smart of you. Did you do the deobfuscation? No.
Now you cry like a little bitch because you thought you can outsmart everyone while in fact you didn't do the task you did.
PS.
And if you read about Asmjit donations, I have donated to this project since beta version, I was the first to donate money and many times more afterwards, I had a deal with the author to include my link for the 1st ever donation made to it - and what did I get in return after the years have passed? A big fuck you for being the first person to support the project financially. And now, when they have plenty of other donations they forgat who supported it many times when they had zero customers... Petr Kobalicek is just an ungrateful bastard...
Screw him and screw you, how about that? Is that bad for a PR? Let me laugh even more :)
Aug 25, 2022 04:15 AM
(This post was last modified: Aug 25, 2022 04:18 AM by MavenGradle.)
This is so sad. I guess you will never learn. Best of luck to you PELock . You should write more blog posts about it, you might end up on the github hall of cringe fails. That would be a great advertisement.
Stop it, get some help & learn how to deobfuscate shit NOT how to be a smartass.
I can get you 5% discount for your cleverness! I'm in awe of your googling skills.
i already know about it. thanks
(Aug 25, 2022 04:11 AM)PELock Wrote: What was the goal?
To deobfuscate the code.
What you did? Took the original source from my site.
How smart of you. Did you do the deobfuscation? No.
Now you cry like a little bitch because you thought you can outsmart everyone while in fact you didn't do the task you did.
PS.
And if you read about Asmjit donations, I have donated to this project since beta version, I was the first to donate money and many times more afterwards, I had a deal with the author to include my link for the 1st ever donation made to it - and what did I get in return after the years have passed? A big fuck you for being the first person to support the project financially. And now, when they have plenty of other donations they forgat who supported it many times when they had zero customers... Petr Kobalicek is just an ungrateful bastard...
Screw him and screw you, how about that? Is that bad for a PR? Let me laugh even more :)
What a shame. I genuinely have a need for source-level obfuscation right now but I'll look elsewhere. Glad I read the comments. He won the giveaway fair and square, maybe next time separate your challenge from public domain.
"Three guys in a boat. Four cigarettes. No matches. How do they manage to smoke?"
"The only way to have a friend, is to be a friend."
Oct 11, 2022 02:47 AM
(This post was last modified: Oct 11, 2022 03:00 AM by PELock.)
Of course, you "genuinely" do! I was crying all the way to the bank... hahahahahahahahhahahahah
Legit this is the worst obfuscator known to man
OWNER IS A RUDE POLISH CUNT, WHO IS SAD FAT AND A VIRGIN
But it's the most profitable software for me, I shit with shitcoins thanks to it! So get fucked!
May 13, 2026 01:50 AM
(This post was last modified: May 13, 2026 02:54 PM by PELock.)
A new version of JObfuscator is available - https://www.pelock.com/jobfuscator/ (desktop + cli https://www.pelock.com/products/jobfuscator/download)
Engine changes
v1.30 - 14.05.2026 - A new obfuscation strategy. Encrypt all double values using floating point math functions from the java.lang.Math.* class.
- A new obfuscation strategy. Rebuild string literals as runtime-created String objects from hidden char arrays.
- A new obfuscation strategy. Represent selected integer values through equivalent double math expressions.
- A new obfuscation strategy. Inject opaque mixer chains and unreachable guards to increase the amount of code decompilers have to analyze.
- A new obfuscation strategy. Replace plain true and false literals with equivalent runtime expressions.
- A new obfuscation strategy. Wrap selected safe statements in noisy try/finally blocks while preserving program behavior.
- A new obfuscation strategy. Encrypt int array contents and decode them at runtime.
- A new obfuscation strategy. Encrypt double arrays by hiding their values as encoded bit patterns.
- A new obfuscation strategy. Encrypt char arrays and restore the original characters through generated decoder code.
- A new obfuscation strategy. Encrypt String array elements and rebuild them while the program runs.
- A new obfuscation strategy. Split eligible string literals into nested .concat(...) chains so decompilers face more tokens and local data-flow steps; it runs before polymorphic string encryption when both are enabled.
- Updated the StringEncrypt engine with support for nested polymorphic loops in string encryption.
- Updated the engine parser configuration to support Java 21 source code constructs.
Client history
v1.3 - 14.05.2026 - Windows and Linux clients updated with all the new obfuscation strategies
- Windows client runs the obfuscation process in background now
- Drag & drop support added for faster Java file opening
- Command line version supports wildcards now and can process many files at once
- All the SDK packages updated
- Official Web API packages and repositories: Python (PyPI, GitHub), JavaScript (npm, GitHub), Rust (crates.io, GitHub), C# .NET (NuGet, GitHub), PHP Composer (Packagist, GitHub). Installation commands are on the API page.
Added more generous free demo options, that include 2000 char limit plus four obfuscation strategies
- randomly rename methods
- randomly rename variables
- encrypt static int[] arrays initializers
- expand strings into char[] arrays
Anyways, you can get a free code if you can read ;)
Jun 3, 2026 03:44 PM
(This post was last modified: Jun 3, 2026 03:45 PM by PELock.)
You can now fully automate and integrate obfuscation process by using JObfuscator Maven pre-compiler plugin (you just need to upgrade your pom.xml configuration file).
https://github.com/PELock/JObfuscator-Maven-Compiler
Engine changes
v1.40 - 03.06.2026 - More guards added against Java source code limits for methods and statements (64 kB).
- A new Self Check obfuscation strategy added to guard against deobfuscation (using reflection crc checks at runtime).
Client changes
v1.4 - 03.06.2026 - Added JObfuscator Maven compiler plugin to automate obfuscation from any Maven supported workflow and IDE (just upgrade your pom.xml)
- Added JObfuscator Client Maven plugin to use JObfuscator API calls
Neat project. string encryption and the int-extraction pass are real techniques, and writing your own engine definitely teaches you stuff. But tbh source-level is kind of a dead end for Java specifically.
The problem is javac gets the last word. Anything you emit has to survive being re-parsed and recompiled. So you're limited by java source spec and what JAVAC accepts at the source level. And worse, the compiler partially undoes your work on the way:
- constant folding
- DCE
- canonicalizing control flow
- And so on...
You limit yourself also from ever breaking decompilers or real analysis in any way (Irreducible flow, dynamic-family instruction nesting edge cases, type confusion, etc)
Bytecode obfuscators run after javac, so nothing gets a second pass at cleaning them up. Not saying you wasted your time, genuinely valuable if written in the interest of learning, there's places for complex source transformation stuff. Just, in practice, production application protection is not one of them.
I have tested it against latest JEBDec with AI decompilation and it failed, so it's production ready.
Javac doesn't flatten control flow or optimize constant folding, because it's not x = 1 + 2 but its using external sources like arrays.
Bytecode obfuscation cannot achive what I can do on AST high level and vice versa, I cannot use bytecode GOTO instruction for example.
So there are cons and pros.
Also - this isn't my last word, there are more improvements coming in.
Thank you for the comments, I might even build bytecode obfuscator to work along AST obfuscation to achieve even better results.
v1.50 - 04.08.2026 - Fixed method renaming (support for nested types and constructors).
|