首先,这里得讲下,ClassyShark并非谷歌官方产品。
介绍
ClassyShark是一款便利的文件浏览器,它可以浏览安卓下可执行的程序。此外,它拥有安卓APK和桌面版JAR的客户端。有了它,你可以打开APK/Dex/Jar/Class文件,并分析里面的代码。下面是动图演示:
用例
下面帮你理解 Multidex 应用里的内容:
显示每个classes.dex文件 显示包、方法、类、字符串等的dex数目
性能
甄别和理解性能有关的问题,其中包括:
运行缓慢的库 重复的库 冗余的库
JNI接口和本地代码
检验JNI接口的故障问题,包括:
甄别丢失的本地库 浏览每个classes.dex里的本地方法
检测本地代码问题,包括:
检查本地依赖 检查动态符号
命令行演示
将生成的所有数据导出到文本文件里:
java -jar ClassyShark.jar -dump <BINARY_FILE>
将指定类生成的文件导出到文本文件里:
java -jar ClassyShark.jar -dump <BINARY_FILE> <FULLY_QUALIFIED_CLASS_NAME>
打开ClassyShark,在GUI界面展示某特定的类:
java -jar ClassyShark.jar -open <BINARY_FILE> <FULLY_QUALIFIED_CLASS_NAME>
检测APK:
java -jar ClassyShark.jar -inspect <YOUR_APK.apk>
下载地址:
这里是最新的 下载地址 ,运行如下命令即可使用:
java -jar ClassyShark.jar
开始开发
安卓版:
Clone这个项目,将ClassySharkAndroid文件夹导入Android Studio。
桌面版:
Clone这个项目,将ClassySharkWS文件夹导入你常用的IDE。可以使用 RetroBuild 快速导出jar来编译系统。
依赖相关
dexlib2 by jesusfreke guava by Google ASM by OW2 ASMDEX by OW2 java-binutils by jawi
支持
如果你发现了错漏,请在代码项目后面跟进。我们鼓励大家提交补丁,可以fork这个项目,然后向Github上pull请求。
*参考来源: github ,FB小编dawner编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)