The Bytecode Club
Fernflower not renaming fields/methods - Printable Version

+- The Bytecode Club (https://the.bytecode.club)
+-- Forum: Lobby (https://the.bytecode.club/forumdisplay.php?fid=1)
+--- Forum: Programming (https://the.bytecode.club/forumdisplay.php?fid=86)
+--- Thread: Fernflower not renaming fields/methods (/showthread.php?tid=1202)

Pages: 1 2


Fernflower not renaming fields/methods - sothatsit - 05-10-2015

Hey,

I am new to the Java Reverse Engineering scene and have started out using FernFlower.

I am currently working on a project which simply decompiles and refactors a jar. It is all going well except for one major issue: It doesnt rename the fields/methods when they are declared, it does when they are referenced but not when they are declared.

For example:
My renaming class will rename field "aa" to "String_1"
I will end up with this:
String aa;

class_13(String someString) {
String_1 = someString;
}

This is obviously not ideal.

I have tried looking through the source code of FernFlower but i cannot find the issue.

I have emailed fernflower.decompiler@gmail.com but have not recieved a reply as of yet and thought it would be worth looking for help elsewhere.

I hope you can help me out,

Thanks Smile


RE: Fernflower not renaming fields/methods - Bibl - 05-10-2015

are you using the orginal fernflower or the one jetbrains stole and claimed as their own?
edit: not changing this edit snip

[Image: 485bLTI]



RE: Fernflower not renaming fields/methods - sothatsit - 05-10-2015

(05-10-2015, 09:59 PM)Bibl Wrote:  are you using the orginal fernflower or the one jetbrains stole and claimed as their own?

I am using the fernflower from https://github.com/fesh0r/fernflower. I have just cloned and built it.


RE: Fernflower not renaming fields/methods - Bibl - 05-11-2015

you could use proguard or retroguard to rename the fields or make your own field renamer (methods are a bit tricker).


RE: Fernflower not renaming fields/methods - sothatsit - 05-11-2015

(05-11-2015, 03:52 AM)Bibl Wrote:  you could use proguard or retroguard to rename the fields or make your own field renamer (methods are a bit tricker).

Like, editing the bytecode?


RE: Fernflower not renaming fields/methods - sothatsit - 05-11-2015




RE: Fernflower not renaming fields/methods - Bibl - 05-12-2015

asm for java
and
https://github.com/TheBiblMan/Byte-Engineer-2

although its not really full/done


RE: Fernflower not renaming fields/methods - Bibl - 05-15-2015

just tried fernflower and the same thing is happening for me, guess you should rename with proguard or retroguard.


RE: Fernflower not renaming fields/methods - sothatsit - 05-16-2015

(05-15-2015, 06:51 AM)Bibl Wrote:  just tried fernflower and the same thing is happening for me, guess you should rename with proguard or retroguard.

I think I'm actually going to use asm to edit the bytecode to rename the fields/methods/classes. This is good because then I don't have to recompile the source code afterwards. Thanks for your help Smile


RE: Fernflower not renaming fields/methods - Bibl - 05-16-2015

(05-16-2015, 08:28 AM)sothatsit Wrote:  
(05-15-2015, 06:51 AM)Bibl Wrote:  just tried fernflower and the same thing is happening for me, guess you should rename with proguard or retroguard.

I think I'm actually going to use asm to edit the bytecode to rename the fields/methods/classes. This is good because then I don't have to recompile the source code afterwards. Thanks for your help Smile

nono, you can run retroguard it and the classes are renamed (still in classfile form)
i'm working on one with asm at the moment that doesnt rely on the asm visitors
http://hastebin.com/aqocujidaj.java