现在开源的脱壳工具比较多,今天我们来分享几款比较常见的脱壳工具,有刷入定制系统的脱壳机方式的,有Xpose模块hook关键函数的,也有Frida工具hook脱壳的,各有优缺点,小伙伴们可以自由搭配使用。
这款脱壳工具是寒冰大佬写的,是通过刷入大佬定制的系统,进而在程序运行中动态脱壳。
具体介绍可见大佬的github:https://github.com/hanbinglengyue/FART
原理介绍:[原创]FART:ART环境下基于主动调用的自动化脱壳方案-Android安全-看雪论坛-安全社区|安全招聘|bbs.pediy.com
有些人可能觉得刷机麻烦,同时大佬也提供了Frida版的,可以直接使用frida hook脚本动态脱壳。
我们解压该文件后,将lib文件夹中的fart.so
和fart64.so
拷贝到/data/app
目录下,并使用 chmod 777
提权,接下来就可以正常使用frida hook脚本脱壳了frida -U -f [包名] frida_fart_hook.js --no-pause
一款基于ART的主动调用的脱壳机,针对Dex整体加固+各式各样的Dex抽取的脱壳机
具体介绍可见大佬的github:https://github.com/youlor/unpacker
原理介绍:[原创]Youpk: 又一款基于ART的主动调用的脱壳机-Android安全-看雪论坛-安全社区|安全招聘|bbs.pediy.com
这款工具的缺点就是只有pixel 1的刷机包,没有该手机就只能说拜拜了。
这款脱壳机在使用时还需要在我们的手机上扔一个配置文件,里面写的就是我们要脱壳的程序的包名cn.aaa.bbb。adb shell "echo cn.aaa.bbb >> /data/local/tmp/unpacker.config"
脱下来的dex文件和修复要用的bin文件都在我们的本地包名下/data/data/cn.aaa.bbb/unpacker
这款是较上面两款早一点的脱壳机,目前只支持Nexus5 hammerhead手机,其他手机也可根据F8LEFT大佬github指示进行源码修改和编译。
具体介绍可见大佬的github:https://github.com/F8LEFT/FUPK3
原理介绍:[原创]Android通用脱壳机FUPK3-Android安全-看雪论坛-安全社区|安全招聘|bbs.pediy.com
这款是要配合手机端安装的FUpk3程序来脱壳,脱下来的dex放在/data/data/pkgname/.fupk3目录下
这款是基于Xposed开发的,通过Hook ClassLoader的loadClass方法,反射调用getDex方法取得Dex(com.android.dex.Dex类对象),再将里面的dex写出。
具体可查看:https://bbs.pediy.com/thread-224105.htm
这款是脱比较早期一点的壳,类抽取的没办法,不过也可以脱下来看看方法名之类的,然后再配合frida hook。
这款基于frida的脱壳工具是葫芦娃大佬写的,看了一下最近更新尽然是6月份,那还是比较新鲜的,可以使用哦。
github地址:https://github.com/hluwa/FRIDA-DEXDump
我们可以直接用pip命令安装:pip3 install frida-dexdump
使用:
frida-dexdump
or
git clone https://github.com/hluwa/FRIDA-DEXDump
cd FRIDA-DEXDump/frida-dexdump
python main.py -h
BlackDex是一个运行在Android手机上的脱壳工具,支持5.0~12,无需依赖任何环境任何手机都可以使用,包括模拟器。只需几秒,即可对已安装包括未安装的APK进行脱壳。
github:https://github.com/CodingGay/BlackDex
直接在我们的非越狱手机安装32位和64位的包即可,然后打开32位或者64位的选择我们要脱壳的app即可等待脱壳了。
优点很明显,就是不用root,不用root,不用root,自然也不用什么Xposed、面具、frida,更不用刷机,直接就能脱壳,强,很强。
缺点就是针对一些运行中加载的类和方法可能就脱不到了,因为这脱壳完全不会运行程序。