【问题标题】:Package dependencies in Android apk filesAndroid apk 文件中的包依赖项
【发布时间】:2013-09-17 16:54:04
【问题描述】:

我正在执行 Android 应用逆向工程(反编译和进一步分析)。我希望分析同一个 apk 文件中不同包之间的包依赖关系。有没有什么工具可以做到这一点?否则,如何推断apk文件中的包依赖关系?

【问题讨论】:

  • 您在寻找从 apk 中提取源代码吗??
  • 不,我对如何使用 dex2jar/jad 等恢复 src 代码有一些了解。我要寻找的是可以从中间代码(smali、jimple 等)推导出来的“包级别依赖项”或来自android应用程序的java代码。

标签: reverse-engineering decompiling android android-applicationinfo


【解决方案1】:

我在使用 apk 文件时遇到的唯一依赖项是设备中的框架。如果您正在处理 Play 中提供的标准应用程序,那么它通常包含它自己的包中所需的一切。

Amazon Kindle Fire、Barns & Noble Nook 等一些自定义构建已经构建了自定义启动器和其他服务,然后通过它们的框架提供其他功能。

framework-res.apk 通常存储在 /system/framework 位置。您可以从您的设备中提取它并将其放在您的 %userprofile%/~ 的 apktool 文件夹中。 Apktool(我假设这是您正在使用的工具之一)将在它完成工作时引用它。

【讨论】:

  • 我希望将 apk 解耦为包含应用程序源代码的 pkg、ad libs 的 pkg、支持库的 pkgs 等包。如果您知道如何从反向识别包工程smali代码,请分享。
  • 另外,请阅读我的真实问题:stackoverflow.com/questions/18717248/… 和第一个评论线程。
【解决方案2】:

我想分析同一个apk文件中不同包之间的包依赖关系。请让我知道是否有任何工具可以做到这一点

一个名为 Dexter 的工具可用于查找 apk 中存在的所有包。此外,如果任何 2 个包之间存在程序依赖关系,Dexter 会以优势显示它。可以注意到,边没有任何权重来表示依赖的强度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 2020-02-15
    • 2014-08-20
    • 2014-05-04
    相关资源
    最近更新 更多