Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 205
  • Last Modified:

Look at this Java Decompiler Problem!

// FrontEnd Plus GUI for JAD
// DeCompiled : a.class

try {
       a1.pack();
       a1._mthtry(); //This Method Doesm't Exit At All!

       a1.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
} finally {
       a1.dispose();
}

The above code piece was decompiled by the Latest version of JAD/FrontEnd Plus. Actually, the methods begin with an underline char "_" (a1._mthtry(), e.g.) don't exit in the refered class (a1 here, e.g.), so this classes can't be compiled back into a .class after modification.

But it seems somebody else can decompile it successfully, what's the problem with the tools I am using? Or he use another better tool?

Could anyone tell me?
0
wyuanzheng
Asked:
wyuanzheng
  • 6
  • 3
  • 2
  • +3
1 Solution
 
shyamkumarreddyCommented:
Wyuanzheng,
I have some info for you. After you decompile your class file to java. It won't be 100 Percent back to java. And i don't think all compilers do that. If you can do that what is the way to hide your source right.

And the source which u get from class file is not the format in which u get it in java. It will be in some format and it is different for each decompilers and very very difficult to understand the logic and code.

And at the same time. There are some obsfucator for hiding the code also.

These are some info for you abt decompilers.
For more info look into sun for obsfucator.
Shyam
0
 
OviCommented:
Try JODE. Serach at google and you will find references to the opensource project hosted by sourceforge
0
 
OviCommented:
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
wyuanzhengAuthor Commented:
Sometimes, I see the decompiled class file contains some reserved words like "try", "null", "catch" as the Method name or Variable.

e.g.:

a1.try(a2.null);

//try() is a Method, null is an variable in a2 class

So, how to play with it?
0
 
OviCommented:
This means the class was obfuscated using a good obfuscating program. Normally you cannot solve this kind of problems. You could try to study the resulted sourcecode and fix'it if is understandable enough.
0
 
wyuanzhengAuthor Commented:
If I am required to decompile all the classes, and modify all the reference of these methods/variables, I must be mad! Any way else?
0
 
alramanathanCommented:
U can try Decafe Pro which will decompile java Classes and but not in the Same format
0
 
alramanathanCommented:
It is available in http://decafe.hypermart.net/
0
 
wyuanzhengAuthor Commented:
decafe actually use JAD.
So the result will be the same with that decompiled by FrontEnd Plus. Best of all is FrontEnd is free while Decafe cost some.
0
 
OviCommented:
Yes, you have right, is madness to change a obfuscate class. I don't think you have alternative solutions (perhaps only searching the web for another application like one you want to decompile).
0
 
OviCommented:
Yes, you have right, is madness to change a obfuscate class. I don't think you have alternative solutions (perhaps only searching the web for another application like one you want to decompile).
0
 
OviCommented:
Yes, you have right, is madness to change a obfuscate class. I don't think you have alternative solutions (perhaps only searching the web for another application like one you want to decompile).
0
 
Venci75Commented:
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:
Answered by: Ovi
Please leave any comments here within the next seven days.
 
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
 
Venci75
EE Cleanup Volunteer
0
 
SpideyModCommented:
per recommendation

SpideyMod
Community Support Moderator @Experts Exchange
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 6
  • 3
  • 2
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now