• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

How to deobfuscate jar file

 
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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

 
Bartender
Posts: 825
5
Python Ruby Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Rancher
Posts: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
No, that information is no longer in the class file.
 
Rancher
Posts: 2759
32
Eclipse IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the quick response

@Kemal Sokolovic Got third party jar want to know whats happening
@Jayesh :-)
 
lowercase baba
Posts: 13089
67
Chrome Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Rancher
Posts: 1044
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Marshal
Posts: 28193
95
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Master Rancher
Posts: 4806
72
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Posts: 13089
67
Chrome Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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"...
 
Ranch Hand
Posts: 43
Mac Ruby Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks all of you

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

 
Ulf Dittmer
Rancher
Posts: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Again:

Ulf Dittmer wrote:No, that information is no longer in the class file.

 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic