Apple M1,逆向环境设置与我自己遇到了很多坑逐一解决,给后来的同学一个参考吧

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安装
  1. pkg安装方式地址 传送门 这里选择描述带 including macOS 11 Big Sur on Apple Silicon (experimental)
  2. 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上进行玩耍了

  • 调试篇
  1. lldb 调试:App 运行起来附加调试 sudo lldb -p $(pgrep xxx)

  2. frida调试,有个问题哈frida调试会意外终止进程只有lldb附加一次后才能用frida
    命令如下:frida -p $(pgrep xxxx)

10 Likes

:couch_and_lamp:给自己,突然想记录一下因为菜脑子记性也开始差了起来,发帖记录一下把,论坛大把的大神但我却找不到组织,在论坛疯狂刷帖心好累,有组织么想加入这样会不会进步快一点

1 Like

找不到组织是啥意思,论坛不就是一个组织么

楼主求一个联系方式

我最近也在研究M1相关的东西 可以的话老哥留个联系方式 一起交流

arch x86_64 brew install ldid
命令是不是错了 正确的是:
arch -x86_64 brew install ldid

感谢提醒,我在mweb里编辑完拷贝过来的,大意了

给力。晚上回去操作操作。
M1我这有个tg小群,可以 https://t.me/applem1talk

刷了好多 小黄鸭老师的帖子 马上进TG

下载 xcode12.5beta 后, 个人账号也可以在 M1 上调试了

1 Like

我还没升上去,感谢提醒

签名后可以在iPhone上安装运行,但是在m1上报“无法安装请稍后再试”,是我m1系统版本11.2太高的原因?看网上说上个版本就开始限制安装ipa了

我没升级上次无法进行测试,我这里11.1 还是可以的 目测应该是你签名 错误,如果签名微信,记得删除 手表相关支持文件。 你换个签名工具试一试 iOS App Signer

老哥 你好 ,我最后签名成功了 但是提示无法安装。。。

哎帖子写的太糙了,有很多东西没考虑周全很多同学遇到了命令上的问题,我的锅本帖子仅供参考 大家根据自身环境情况 选择性食用

# macosxSDKSpecificationsPath=$macosSdkPlatformPath/Developer/Library/Xcode/Specifications
# packageTypesForMacOSXPath="$macosxSDKSpecificationsPath/MacOSX Package Types.xcspec"
# productTypesForMacOSXPath="$macosxSDKSpecificationsPath/MacOSX Product Types.xcspec"

在monkey dev 的安装过程中的install.sh 脚本
楼主的Xcode 12 这个目录下的这个文件存在吗,我替换成了其他目录下的文件

monkey-dev 貌似在安装的时候有这个问题,当时 查到的情况是,xcode12 已经改了目录了按照教程,把新目录的 文件改了一个软连接过来就解决了

libstdc++的问题也可以通过删除下图两个条目解决:

1 Like

现在貌似不用加 arch也可以了,直接这样:

brew install ldid

我安装 python@3.9 提示我命令行工具未安装,我执行 xcode-select --install 又提示网络错误下载失败,我电脑里就一个Xcode。

brew install python@3.9
Error: python@3.9: the bottle needs the Apple Command Line Tools to be installed.
  You can install them, if desired, with:
    xcode-select --install
You can try to install from source with:
  brew install --build-from-source python@3.9
Please note building from source is unsupported. You will encounter build
failures with some formulae. If you experience any issues please create pull
requests instead of asking for help on Homebrew's GitHub, Twitter or any other
official channels.