基于Frida的脱壳工具
参考
dstmath的frida-unpack https://github.com/dstmath/frida-unpack
xiaokanghub的Frida-Android-unpack https://github.com/xiaokanghub/Frida-Android-unpack
对脚本功能做了优化,适配了更多平台,加强了对于各安卓版本的通用性
目前测试过Android4.4(貌似frida对Android4.4兼容并不好) Android5.1 Android6.0 Android7.1
0x0 frida环境搭建
frida环境搭建,参考frida官网:frida。
0x1 原理说明
利用frida hook libart.so中的OpenMemory或OpenCommon(Android N以后)方法,拿到内存中dex的地址,计算出dex文件的大小,从内存中将dex导出。
0x2 脚本用法
在手机上启动frida server端 执行 frida -U -f com.xxx.xxx -l dumpDex.js --no-pause 脱壳后的dex保存在/data/data/应用包名/目录下
0x3 适用环境
普通加固可以脱壳,对于类抽取等加固脱出的只是个空壳,需要做指令Dump以及Patch到脱出的Dex文件中
0x4 参考链接
https://www.frida.re/docs/home/
https://github.com/dstmath/frida-unpack
https://github.com/xiaokanghub/Frida-Android-unpack
0x5 声明
本工具仅用于学习交流,不得用于违法行为,如作他用所承受的法律责任一概与作者无关(下载使用即代表你同意上述观点)