我参与逆向工程Android应用程序(使用apktool和androguard)。我想找出apk中包含的所有软件包。该软件包可能包括主要应用程序代码,广告库(如广告感,inmobi,mobclix等),社交SDK(如Facebook,Google等),Google Analytics(乱舞,谷歌分析等)或任何其他支持库。如果有任何工具 /无论如何都要告诉我。如果目前没有工具,我打算开发一个,请通过建议来帮助我。
编辑:我使用过dex2jar,ded和dare反编译器。所有这些都会产生文件夹结构,但是,他们不会提供有关pkg名称(或者像ad lib,social sdk等pkg类型)的信息。我正在分析300多个应用程序,所以,我无法解析文件夹结构来导航和查找所有包。因此,我希望了解一个自动化机制(如果没有,可以提供一些技巧/想法)答案 0 :(得分:0)
你可以提取你的apk以查看其中的内容,只需将其重命名为“apkname.zip”。重命名后,你可以像普通的zip文件一样提取它。我想这就是你所看到的。放置“.apk”用“.zip”。然后像普通的zip一样提取它。然后你会得到“classe.dex”,你可以使用dex2jar转换器将它转换为“classes-dex2jar”。然后,使用jui编译器,你可以查看所有的类和包裹。
答案 1 :(得分:0)
执行此操作的最佳方法是使用dex2jar和jd-gui进行撤消。
运行./d2j-dex2jar.sh yourapk.apk
,这将生成classes_dex2jar.jar
文件。
在任何Java文件查看器中打开JAR文件。最受欢迎的一个是JD-GUI。
这两个工具都是免费的。在JD-GUI中打开jar文件后,您将能够看到它使用的所有软件包,例如admob,analytics等。
答案 2 :(得分:0)
我想找出apk中包含的所有软件包。 ...如果有任何工具/无论如何都要告诉我。
我设法找到了一个名为dexter的工具,它提供了这个确切的功能。他们还提出package dependency graph。