点击上面“蓝字”关注我们
前言-原理
砸壳顾名思义就是对软件进行逆向操作,对已加密的软件进行解密,从而获取真实软件源码。App Store下载的包全都是经过苹果加密过的包。苹果不允许开发者自己加密ipa包,加密后的ipa包,我们是无法对其进行反编译的。也无法class-dump,需要对其进行解密才能反编译。
砸壳的方式
1、静态砸壳
2、动态砸壳
一
静态砸壳
使用已知的解密方法对软件进行解密叫静态砸壳,静态砸壳难度大,需要知道其软件的加密算法才能对其解密。
二
动态砸壳
从进程的内存空间中获取软件镜像(image)进行转存处理叫动态砸壳,动态砸壳无需关心软件的加密技术,只需要从内存中获取即可,这种方法相对简单。
为什么可以通过这种方式进行砸壳呢?
任何软件的加密方式都需要系统内核能读懂,系统内核不认识也就无法运行。系统内核能对其运行,也就对其解密了,解密后镜像会保存在内存中,我们就是通过这种方式对其进行获取的。
砸壳工具
砸壳工具1Frida(Mac+Windows)
2Dumpdecrypted(Mac)
3Clutch(Mac)
4Bfdecrypt(IOS)
5CrackerXI+(IOS)
一、Frida(Mac+Windows)「方法一复杂」
Frida是一个利器,除了砸壳还有很多作用,不仅在iOS上用处很大,在Android上更加厉害,想进一步了解的可以自行搜索研究。
一、首先用终端安装Frida
sudo pip install frida 【这里是Python API binding】suo pip install frida-tools 【这里是frida 命令行工具】二者缺一不可,这是2019年11月12日最新版本的frida
二、然后下载砸壳脚本,然后CD到目录中
https://github.com/AloneMonkey/frida-ios-dump这里是Python2的脚本项目地址https://github.com/AloneMonkey/frida-ios-dump/tree/3.x这里是Python3的脚本项目地址
操作
sudo pip install -r ./requirements.txt --upgrade 【这里是安装脚本中依赖