在 jadx 中使用率为零的方法?

逆向工程 安卓 静态分析
2021-06-12 09:08:04

所以我一直在逆向这个 AI 助手应用程序,以找出它在本地文件系统上留下什么样的取证数据。在使用 jadx-gui 进行静态分析期间,我发现了一些有趣的方法,它们将字符串路径名作为参数并将加密的 json 文件存储在该路径上。但问题是,除了它们的声明之外,这些方法在代码中的使用和外观为零。他们或他们的类都没有链接到任何接收器方法,所以我不知道该怎么做。

那么对于只声明一次而未使用的方法是否有任何含义?抱歉没有分享和代码。我不确定我能不能做到:/

1个回答

如果 Jadx 找不到任何方法的用法,这可能是一个错误的结果:

很多方法不能被 Jadx 反编译,尤其是在冗长或复杂的方法上。此类不可反编译方法中的所有方法调用对于用法搜索都是不可见的。

此外,据我所知,Jadx 没有解决继承的功能。这也可能导致 Jadx 找不到方法的现有用法。

最后但并非最不重要的是,Java/Android 开发人员可以决定通过反射调用方法。Jadx 根本无法识别此类方法调用。

因此,如果 Jadx 找不到任何方法的用法,则该方法可能未被使用。如果您想确保该方法真的从未被调用,则使用 apktool 反编译 APK。

  • 对方法签名进行全文搜索。
  • 检查类层次结构是否可以在其他类上调用该方法。
  • 通过字符串对方法和类名进行全文搜索,并检查它们是否用于通过Java反射调用方法。