gpt4 book ai didi

android - 从 android apk 中的 .smali 文件中提取所有 API 调用

转载 作者:行者123 更新时间:2023-11-29 01:16:51 26 4
gpt4 key购买 nike

我想从 Android 应用程序的 apk 中提取所有 API 调用。我已经使用 apktool 从 apk 中获取 smali 代码文件。手动我可以发现一些 API 调用,但我需要一种自动化方法。例如,我可以在这行代码中看到 getNetworkInfo 调用:

    invoke-virtual {p0, v0}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;

我没有smali代码经验,对Android应用分析也很少;我只发现了上面的 API 调用,因为我碰巧知道“getNetworkInfo”就是其中之一。但当然,我不想做的是从所有可能的 API 调用列表开始,然后在 smali 文件中逐一搜索它们。

是否还有 API 调用的其他指示? invoke-virtualinvoke-direct 是否总是意味着 API 调用?

最佳答案

invoke-virtualinvoke-direct 分别调用一些对象的方法,有和没有虚方法解析。这不一定是 API 调用;您可以将这些指令用于任何类型的对象,包括您在自己的代码中定义的类的实例。

在本例中,您发现了对 android.net.ConnectivityManager 类中方法的调用。如果你想找到更多的 API 调用,你可以从搜索引用某些类的 invoke-* 指令开始,例如可能包括 android.* 下的任何内容,java.*, javax.*

关于android - 从 android apk 中的 .smali 文件中提取所有 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38972250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com