iOS逆向笔记

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工程

WX20210701-172041.png

3.将砸壳后的ipa拖入工程目录-TargetApp中

WX20210701-173940.png

4.打开工程,选择真机运行

如果出现错误file not found: /usr/lib/libstdc++.dylib,需要添加一下libstdc++.dylib,参考
github教程

5.运行成功后,可使用View Debug 调试界面

WX20210701-173906.png

你可能感兴趣的:(iOS逆向笔记)