什么是脱壳?
摘掉壳程序,将未加密的可执行文件还原出来(有些人也称为“砸壳”)
脱壳主要有2种方法:硬脱壳、动态脱壳
如何验证可执行文件是否已经脱壳?
查看Load Commands -> LC_ENCRYPTION_INFO -> Crypt ID的值,0代表未加密
image.png
通过otool命令行也可以:otool -l 可执行文件路径 | grep crypt
脱壳工具
之前都是使用clutch 或者dumpdecrypted但是更高版本的IOS已经不好使了,高版本的IOS使用frida一键脱壳。frida不再和以前的那些脱壳一样使用解密算法脱壳,而是从内存dump出来。
准备工作:
- 一台越狱的手机
- 安装ssh
- 安装Frida源
- 添加源:https://build.frida.re
- Mac 端 安装homebrew,python, 安装wget,通过wget安装pip,usbmuxd,然后安装frida,配置Frida-iOS-dump环境等操作
最后只需要 使用简单的指令:dump.py bundle ID 就可以导出解密后点ipa包。执行指令前需要运行程序。
网友评论