Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

How to deobfuscate jar file

 
VinothKumar Kuttiappan
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

Thanks in Advance

Is there is any open source tool for deobfuscation?

Not able to read the decompiled files its showing class/method as A/B/C etc

Regards
Vinoth

 
Kemal Sokolovic
Bartender
Posts: 825
5
Java Python Ruby
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Why would you want to do that? If you got someone else's .jar without the source code, than you're surely not intended to see or use it.
 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
No, that information is no longer in the class file.
 
Jayesh A Lalwani
Rancher
Posts: 2756
32
Eclipse IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can deobfuscate an obfuscated jar file manually. Unfortunately, you need a mind of a Vulcan to do it. So, until humanity discovers space travel, gets in contact with an alien race of superior intellect, that doesn't want to exterminate us, NO!
 
VinothKumar Kuttiappan
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for the quick response

@Kemal Sokolovic Got third party jar want to know whats happening
@Jayesh :-)
 
fred rosenberger
lowercase baba
Bartender
Posts: 12146
30
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
VinothKumar Kuttiappan wrote:
@Kemal Sokolovic Got third party jar want to know whats happening

I'd suggest you read a) their EULA and b) their documentation. Often, the EULA says that it is a violation to try and reverse engineer their code. Their documentation should tell you all you need to know.
 
Ivan Jozsef Balazs
Rancher
Posts: 979
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ulf Dittmer wrote:No, that information is no longer in the class file.


Method names (and arg types) are present in the classfiles.
 
Paul Clapham
Sheriff
Posts: 21133
32
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It's true, the method names are in the class files. But after the obfuscator gets through with its task of renaming method "getLastPayrollPeriod" to "d", all you have in the class files is "d" and "getLastPayrollPeriod" is nowhere to be found.
 
Mike Simmons
Ranch Hand
Posts: 3090
14
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
fred rosenberger wrote:Their documentation should tell you all you need to know.

I think you may live in a different world than I do.
 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ivan Jozsef Balazs wrote:Method names (and arg types) are present in the classfiles.

Vinoth is asking about human-comprehensible names (e.g., the original ones). In an obfuscated class, that information is not present.
 
fred rosenberger
lowercase baba
Bartender
Posts: 12146
30
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mike Simmons wrote:
fred rosenberger wrote:Their documentation should tell you all you need to know.

I think you may live in a different world than I do.

In my defense....I did say "should"...
 
Rishi Shah
Ranch Hand
Posts: 43
Java Mac Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jayesh A Lalwani wrote:You can deobfuscate an obfuscated jar file manually. Unfortunately, you need a mind of a Vulcan to do it. So, until humanity discovers space travel, gets in contact with an alien race of superior intellect, that doesn't want to exterminate us, NO!


If you know the obfuscation tool used (e.g. ZKM), you can use byte code engineering (ASM/BCEL) to deob it (in ZKM's case, fix the flow control). If you don't know the method used, you can analyze it, and more times than not, it will be using a popular obfuscation tool.
 
VinothKumar Kuttiappan
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks all of you

One sample class, interested in knowing original class/method names

 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Again:
Ulf Dittmer wrote:No, that information is no longer in the class file.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic