1

so i've been reversing this ai assistant app to figure out what kind of forensic data it leaves on local file system. during static analysis with jadx-gui i found some interesting methods that take string pathnames as parameters and store encrypted json files on that path. but the thing is, these kind of methods has zero usage and appearances on code other than their declarations. none of them or their classes were linked to any receiver method so i have no idea what to make of this.

So are there any kind of implications regarding methods that only declared once and not used?? Sorry for not sharing and code. i'm not sure i can do that :/

1 Answer 1

4

If Jadx can not find any usage of a method this may be a false result:

A lot of methods can't be decompiled by Jadx, this can happen especially on lengthy or complex methods. All method calls within such non-decompilable methods are invisible to the usage search.

Additionally as far as I know Jadx has no functionality for resolving inheritance. This may also result in existing usages of a method that can not be found by Jadx.

Last but not least an Java/Android developer can decide to call a method via reflection. Such method calls can't be recognized by Jadx at all.

Therefore if Jadx can't find any usage of a method the method may be not unused. If you want to make sure the method is really never called decompile the APK using apktool.

  • Make a full-text search for the method signature.
  • Check the class hierarchy if the method may be called on other classes.
  • Make a full-text search on the method and class name by string and check if they are used for calling the method via Java reflection.

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.