Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] Fix name confusion due to multiple overridden methods with the same name #1743

Closed
sad-dev opened this issue Dec 8, 2022 · 1 comment
Labels
bug Core Issues in jadx-core module rename

Comments

@sad-dev
Copy link

sad-dev commented Dec 8, 2022

I ran into problems on an obfuscated jar. The essential code is as follows:

interface A {
  B a();
  C a();
};
abstract class B implements A {
  @Override
  C a() { ... } ;
};
class C extends A {
  @Override
  B a() { ... };
};

Deobfuscation renames the first a method, but class B ends up with the wrong alias. This also happens if the renaming is done manually.

interface A {
  B xxx();
  C a();
};
abstract class B implements A {
  C xxx() { ... } ;
};
class C extends B {
  B a() { ... };
};

I suspect this is due to overly lax (name based instead of prototype based?) identification of MethodNodes or MethodInfo objects. Also not too sure how easy it would be to triage and fix, so submitted as a feature request

@skylot
Copy link
Owner

skylot commented Dec 9, 2022

Fixed.
@sad-dev thanks for test case!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Core Issues in jadx-core module rename
Projects
None yet
Development

No branches or pull requests

2 participants