1

While reversing some J2ME games like Spyro or Tekken 5 Mobile I have encountered a weird obfuscation where all fields, methods and classes have names like A, a, B, b, Aa, Bb etc.

It's really hard to read source code like that. Example method can look like this:

     public static void a(final boolean b) {
        f.b = b;
        if (!b && f.a != null) {
            try {
                f.a.stop();
            }
            catch (Exception ex) {}
            f.a = null;
        }
    }

Is there a way to restore original names or at least make this code more readable? I would be grateful for any tips.

2
  • Do you still have tekken 5 java including spyro. I want to study each game and try to disect it like i'm doing with each tekken game. I know this is not the answer you wanted to here but I can't message you privately. You can email me at [email protected]
    – lordchrome
    Commented Dec 9, 2020 at 10:52
  • I might be able to help you. In order for me to do so I need to have the game so I can examine everything. I'll try my best to help you. Do you still have it by any chance?
    – lordchrome
    Commented Dec 10, 2020 at 3:08

2 Answers 2

3

No there isn't. You'll have to assign meangingful names yourself while reverse engineering.

Just be glad that even with names stripped, Java is far easier to reverse engineer than native binaries.

1

Maybe. If the Source File of the Classes are present you can reverse the Class names. Unfortunatly there are no ways to retrieve Methods and Fields names. The only thing that you can do for that is renaming the fields and methods with unique names to make the code more readable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.