Apple M1,逆向环境设置我自己遇到了很多坑逐一解决,给后来的同学一个参考吧
常用软件
- [x] Homebrew
- [x] Xcode (AppStore下载即可)
- [x] frida
- [x] frida-ios-dump
- [x] Monkey-dev
- [x] Python3.9(这里我用3.9是因为支持了
arm64
) - [x] xia0lldb
前期准备工作
- 强烈建议大家用两个控制台软件,一个设置
rosetta
,另一个保持原生arm64
其他没有啥了开干吧,我也刚用不久就算记录和分享吧 - 设置一个host可以有效加速github相关的下载大家有代理请忽略
199.232.96.133 raw.githubusercontent.com
- 小命令:
file $(which cat)
可以查看 executable 的类型 arm64 或者 arm64
/bin/cat: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/bin/cat (for architecture x86_64): Mach-O 64-bit executable x86_64
/bin/cat (for architecture arm64e): Mach-O 64-bit executable arm64e
开干
- 先去AppStore下载Xcode,默认大家都安装了后边都有依赖的
- homebrew:我默认大家网络都正常,不正常的同学就用清华源来安装吧那边挺快的,因为早些时间源同步和其他问题有些BigSur的包没同步过来现在好了 传送门,附送一个手动安装教程
$ arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 安装Python3.9
这里要注意3.9已经支持arm64了,我这边提供两种安装方式第一种官网pkg安装,另一种brew安装
- pkg安装方式地址 传送门 这里选择描述带
including macOS 11 Big Sur on Apple Silicon (experimental)
- brew安装方式就简单了
brew install python@3.9
下载完毕自己检查一下file $(which python3.9)
你可以看到多个executable arm64 和 x86_64 因为python3.9都支持,俗称胖二进制
-
安装Frida
简单安排上,直接上命令不墨迹了,这里在原生终端下运行pip3 install frida
如果卡住不动,取消上边的命令,来这里 找到frida-14.2.8-py3.8-macosx-11.0-arm64.egg
用网页下载完毕后运行如下命令
mv ~/Downloads/frida-14.2.8-py3.8-macosx-11.0-arm64.egg ~/frida-14.2.8-py3.9-macosx-11.0-arm64.egg
再运行pip3 install frida
-
安装居家旅行必备神器 Monkey-Dev
0x1:
$ sudo git clone --recursive https://github.com/theos/theos.git /opt/theos
0x2:
$ arch -x86_64 brew install ldid
0x3:
$ xcode-select -p
0x4:
$ sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
剩下的只有等了,如果觉得慢可以加上刚才开头说的host可以让你少痛苦一会,等你们安装好用猴神框架搞项目编译的时候肯定会遇到错误
Showing Recent Messages File not found: /usr/lib/libstdc++.dylib
解决办法下载如下仓库代码 执行相应代码
$ sudo git clone https://github.com/devdawei/libstdc-.git && cd libstdc- && sh install-Xcode_12.sh
- xia0lldb 得安装吧增强脚本,强到没话说
git clone https://github.com/4ch12dy/xia0LLDB.git && cd xia0LLDB && ./install.sh
重新签名调试相关
关于M1重新签名调试 iOS
& macOS
完整流程准备工作如下
- 首先得有688开发者账号(可有可无)
- 脱壳ipa 本论坛有大佬自动脱壳 点我
- iOS App Signer工具
1、先去开发者后台去把M1添加到Devices列表
2、去创建一个 Bundle identifiers 记住这个名字
3、去Xcode 登陆你自己的账号创建一个项目,Bundle identifier 就用刚才创建的那,然后运行一档
4、打开iOS App Signer 选中脱壳的ipa 选团队,选profile文件 签名就可以了,签名后的ipa可以直接安装到M1上进行玩耍了
- 调试篇
-
lldb 调试:App 运行起来附加调试
sudo lldb -p $(pgrep xxx)
-
frida调试,有个问题哈frida调试会意外终止进程只有lldb附加一次后才能用frida
命令如下:frida -p $(pgrep xxxx)