背景
在反编译app的时候,有时候会遇到一些加固了的app,这样子我们做竞品分析的时候,就无法使用apktool或者jadx进行反编译了,APK加固成为我们分析的障碍。360渠道作为Android应用分发的较大渠道,很多apk都使用了360加固。本文就来介绍下如何来绕过这个坑。360加固后的apk,在arm设备上首先会将assets目录下的libjiagu.so拷贝到files目录下,然后通过libjiagu.so动态解密并加载原始dex,下面介绍一种成功率极高的 “脱壳”的方式。
实践
- 下载脚本文件
1、可以上github上下载源码进行编译,drizzleDumper地址:https://github.com/DrizzleRisk/drizzleDumper
2、下载编译好的文件:https://download.csdn.net/download/chencangui/10470863
- 推送drizzleDumper脚本到手机的 /data/local/tmp目录下
记得要修改一下运行权限,命令行输入: chmod 777 drizzbleDumper
3、执行./drizzbleDumper com.example.demo 3
adb shell, cd 到 /data/local/tmp执行以上命令,后面两个参数一个是你要脱壳的包名,一个是时间。
4、运行你要脱壳的应用程序
在手机上运行你要脱壳的应用程序,不一会就会在tmp目录下,生成一个xxx.dex的文件,这个就是脱壳之后的dex文件,接下来又可以使用jadx愉快地玩耍了。
附录-参考资料
http://www.freebuf.com/sectool/105147.html
https://blog.csdn.net/zhangmiaoping23/article/details/79026970
https://blog.csdn.net/zhangmiaoping23/article/details/71247434