文件中未定义 DEX 文件引用类型

逆向工程 安卓 爪哇 apk
2021-06-14 11:58:41

我正在分析一个 dex 文件,为了便于逆向工程,我将它转换为一个 jar 以便可以反编译。在文件中android/support/v17/leanback/media/MediaControllerGlue.class,出现以下导入:

import android.support.v4.media.session.MediaControllerCompat;

但是,没有定义这个类。实际上,android/support/v4/media文件中没有包。

为了确认这一点,我type_ids在 dex 文件部分列出了引用的类型,果然,存在以下类型:android/support/v4/media/MediaControllerCompat. 但是,当我遍历该class_defs部分中的所有条目时,找不到该类。

我是 Android 的新手(这实际上是一个 Amazon Firestick APK)开发/逆向工程,所以我不确定这怎么可能。是否有某种方法可以在 APK 之外存在的单独库中定义类?

1个回答

事实证明,这个类(以及其他未在 DEX 文件中定义的类)是标准 Android 库的一部分。因此,我想它们是在运行时从共享对象链接的。