【发布时间】:2018-09-29 08:29:28
【问题描述】:
我想确定应用中正在使用哪些第三方 SDK(如 Mixpanel、Google Analytics、Facebook SDK)(如果有)。有没有办法找出来?
出于此问题的目的,假设我不是应用程序的开发人员,因此我无权访问源代码。
【问题讨论】:
标签: android sdk reverse-engineering
我想确定应用中正在使用哪些第三方 SDK(如 Mixpanel、Google Analytics、Facebook SDK)(如果有)。有没有办法找出来?
出于此问题的目的,假设我不是应用程序的开发人员,因此我无权访问源代码。
【问题讨论】:
标签: android sdk reverse-engineering
您可以使用 Appbrain 之类的服务来找出答案。前几次查找是免费的。
【讨论】:
由于一些原因,无法可靠地枚举应用程序使用的库。
主要原因是混淆:如果用户打开 Proguard 或 R8,他们将重命名库的类,可能以使它们无法识别的方式。
另一个原因是,没有一个完整的现有 Android 库列表,也没有一个类名到库的映射。
然而,如果你确实想尝试这样做,你会想要retrieve the application's class files,然后从你关心的库中寻找包名的开头(因为混淆器是不太可能重命名整个包名称,尽管它们仍然可能)。例如,如果您想查看应用程序是否使用 okhttp3,您将查看是否有 okhttp/okhttp3 文件夹(用于包 okhttp.okhttp3)。
您也许甚至可以通过查找流行的 Maven/Gradle 包列表、下载它们、提取类名并将其用作数据集来自动执行此操作。
【讨论】: