• Post Reply Bookmark Topic Watch Topic
  • New Topic

Java Obfuscators  RSS feed

 
Sheila Wallace
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am not sure that this is the right forum for this question but I will press on regardless!
I am looking for a second genration Java Obfuscator which will work with Java 1.4.2. I would ideally like it to do code reorganisation as well as anything else! I would appreciate any comments and recommendations on both licensed and free software.
Also, I know it's a lot to ask but if anyone can do me a very basic explanation about the different ways obfuscators work (bytecode fiddling, String changing or whatever they are) that would be very much appreciated.
Thanks
Sheila
 
John Smith
Ranch Hand
Posts: 2937
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am looking for a second genration Java Obfuscator which will work with Java 1.4.2.
Not sure what a "second generation" means, but JBuilder Stardard and JBuilder Enterprize compiler comes with the "obfuscate" option. This is what it does, according to JBuilder help: "After decompiling your obfuscated code, the generated source code contains altered symbol names for private symbols. This option generates obfuscated code, which makes your programs less vulnerable to reverse engineering.
 
Joe Ess
Bartender
Posts: 9406
12
Linux Mac OS X Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Sheila Wallace:

Also, I know it's a lot to ask but if anyone can do me a very basic explanation about the different ways obfuscators work (bytecode fiddling, String changing or whatever they are) that would be very much appreciated.

In most basic terms, an obfuscator replaces the huge number of human readable Strings in a Java bytecode file with machine-generated Strings. Since these machine-generated Strings, internal messages, variable names, method names and so on, are usually smaller than their human-readable equivalents, the file size and memory footprint are reduced. As an extra added bonus, the machine-generated Strings are meaningless to humans, so if someone used a decompiler on an obfuscated class file, the code would take some time to understand. Of course, I've worked on some peoples code that was obfuscated from the design phase. . .
 
Tom Angioletti
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I also am not sure what a "second generation" means. But I've used ProGuard (proguard.sourceforge.net) and recomend it. It's free.
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"second generation" obfuscators add "flow obsfucation" to "name obsfucation". See http://www.zelix.com/klassmaster/featuresFlowObfuscation.html for an example.
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!