apk壳检测
1 | import zipfile |
脱壳方法
dumpDex
dumpDex-Android脱壳:https://github.com/WrBug/dumpDex
dumpDex是一个github上开源的xposed插件,可以用来脱掉当前市场上大部分的壳。
一、准备工作
首先需要root的手机一部,我使用的是华为荣耀6(android5.1),安装好xposed框架
dumpDex项目地址:https://github.com/WrBug/dumpDex
可以直接下载release的apk,也可以自行编译打包成apk安装到手机,我个人比较喜欢第二种。
安装好apk后,对于32位手机,需要将lib/armeabi-v7a/libnativeDump.so复制到/data/local/tmp/libnativeDump.so,权限设置为777。
二、开始脱壳
反编译apk后,根据特征发现是使用了梆梆加固
安装插件,重启手机,打开加固的apk,脱壳的后的dex会在/data/data/对应包路径/dump文件夹下
脱壳后的dex如图所示,其中有一部分是壳的dex,需要自己自行选择一下
三、补充说明
设置权限问题,GitHub上有详细说明
编译过程有可能会有让你设置签名的一个问题,直接设置成你的debug签名就可
如果加固后的包名在PackageInfo.java中没有对应的,自行加到PackageInfo.java中即可
应用有可能有卡死状况或者手机重启状况,但应该能脱出壳来,建议多脱几遍
源码部分如果是百度系的壳,直接返回并有没dump,因为还没遇到过百度的壳,暂不知道具体原因
FART
1、安装镜像
从https://github.com/hanbinglengyue/FART上下载镜像,然后按照https://www.bodkin.ren/index.php/archives/513/刷机,中间没有遇到什么问题。
1
2
3
4
5
6
7
8
9adb reboot bootloader
fastboot oem unlock
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot flash boot boot.img
fastboot flash cache cache.img
fastboot flash ramdisk ramdisk.img
fastboot reboot2、修改fart文件并上传
将fart配置文件fart复制到/data/fart(注意文件权限问题,和换行的问题),其中,fart配置文件中为要脱壳的app包名
1
adb push ~/app_crack/fart/test/fart /data
3、查看日志确认
1
2# 在命令行输入下面的命令,然后打开app
adb logcat -s ActivityThread4、查看脱出来的dex
1
adb pull /sdcard/fart/包名/6600696_dexfile.dex .
Frida
https://github.com/hluwa/FRIDA-DEXDump
https://github.com/GuoQiang1993/Frida-Apk-Unpack
使用:
- 默念一声”我想脱个壳”。
- 启动 APP。
- 启动 frida-server。
- python main.py。
- 默数三秒,脱好了。
或者可以将脚本封装成命令,就像这样: