1.frida-iOS-dump砸壳
1.mac 使用ssh连接iPhone,把当前连接设备的22端口(SSH端口)映射到电脑的2222端口,
2.下载frida-ios-dump 源代码并安装依赖
git clone https://github.com/AloneMonkey/frida-ios-dump.git # 下载源代码
cd frida-ios-dump # 切换到代码目录
pip install -r requirements.txt --upgrade # 安装依赖
dump.py 中默认参数如下,所以连接iPhone时使用电脑的2222端口映射。如有不一致,则需修改dump.py 的默认配置。
User = 'root'
Password = 'alpine'
Host = 'localhost'
Port = 2222
3.cd 到 firda-ios-dump路径下,执行
dump.py -l
可获取到手机上所有已安装app的信息,包括BundleId
再执行砸壳命令
dump.py BundleId
砸壳成功后, ipa包生成在 frida-ios-dump 文件夹中
4.class-dump 导出头文件
class-dump -H App 的路径 -o 存放. h 的文件夹
M1 Mac 逆向环境配置参考该文章
https://iosre.com/t/apple-m1/18907
Reveal配置参考该文章
https://www.jianshu.com/p/6cac1052879d
安装theos之后,直接执行nic.pl会找不到该命令
nic.pl
zsh: command not found: nic.pl
解决办法:
vim ~/.bash_profile
添加以下几行:
export PATH=/opt/MonkeyDev/bin:$PATH
export THEOS=/opt/theos
export PATH=/opt/theos/bin/:$PATH0
然后执行
source ~/.bash_profile
这样就可以全局使用nic.pl
如果关闭终端之后重新打开就又需要输入source .base_profile才能生效,出现的原因是因为系统默认使用的是zsh终端导致,然后网上已经有很多种解决方案了,但是我自己试了都是没有效果,最终直接将.base_profile内的环境变量全部复制到.zshrc文件内。
最后在终端内输入source .zshrc立即生效,问题得到解决。
make项目是出现缺少sdk的提示:
==> Error: You do not have any SDKs in /Library/Developer/CommandLineTools/Platforms/iPhoneOS.platform/Developer/SDKs or /opt/theos/sdks.
解决方法:
指向到你要使用的xcode中,如果只装了一个xcode,则:
sudo xcode-select --switch /Applications/Xcode.app
2.MonkeyDev安装与使用
1.按照官方文档流程安装MonkeyDev
安装时如果遇到curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
情况,可通过修改host文件解决,可参考
修改 Hosts 解决 Github 访问失败
2.重新打开Xcode,新建project,选择MonkeyDev工程
3.将砸壳后的ipa拖入工程目录-TargetApp中
4.打开工程,选择真机运行
如果出现错误file not found: /usr/lib/libstdc++.dylib
,需要添加一下libstdc++.dylib,参考
github教程