一、frida Mac环境配置
1. 安装frida
,列出可用frida版本
pip3 install frida==
输出结果如下,可看到最新版本为15.1.25
frida== (from versions: 4.2.12,..., 15.1.25)
安装frida命令
pip3 install frida==15.1.25
2. 安装frida-tools
,列出可用frida-tools版本
pip3 install frida-tools==
输出结果如下,可看到最新版本为10.6.2
frida-tools== (from versions: 1.0.0, ..., 10.6.2)
安装frida-tools命令
pip3 install frida-tools==10.6.2
frida安装最终路径
/usr/local/bin/frida
3. 设置环境变量(如环境正常、此步可忽略),python默认自带2.7,最新mac版本已移除,如果是python3,可以配置环境变量,用户目录下,编辑.bash_profile
(如果配置了zsh,编辑.zshrc
),新增以下命令:
alias frida="python3 /usr/local/bin/frida"
使其生效(zsh配置使用source .zshrc)
source .bash_profile
4. 配置完成后,可查看是否安装成功
➜ ~ frida --version15.1.25
二、手机安装frida
手机越狱设备安装frida步骤:添加源(cydia - 软件源 - 编辑 - 添加 - 输入 https://build.frida.re
)
➜ ~ frida --version 15.1.25
搜索frida
、并安装,如图所示:
三、电脑端配置frida-ios-dump
1. 克隆frida-ios-dump
源码
git clone https://github.com/AloneMonkey/frida-ios-dump.git
2. 进入到clone下来的路径,安装引用python库
pip3 install -r requirements.txt --upgrade
3. 执行以下命令,可以看是否安装、连接成功
➜ frida-ps -U
输出以下结果代表安装成功
Waiting for USB device to appear... PID Name ---- ----------------------------------------------- 4888 AGXCompilerService 4183 AppleCredentialManagerDaemon ... 4256 邮件
四、frida具体使用
1. 查看设备正在运行的程序
frida-ps -Ua
运行结果:
PID Name Identifier ---- --------- ------------------------- 4511 Cydia com.saurik.Cydia 4909 WhatsApp net.whatsapp.WhatsApp 4882 照片 com.apple.mobileslideshow ...
2. 获取所有已经安装的程序列表
python3 dump.py -l
3. 利用以下命令,脱壳解密ipa
python3 dump.py bundleid
如下命令脱壳2048应用(仅做测试使用),但是会报ssh错误
➜ python3 dump.py com.ketchapp.2048 [Errno None] Unable to connect to port 2222 on 127.0.0.1 or ::1 Try specifying -H/--hostname and/or -p/--port
接下来可以通过USB使用ssh连接设备,将22映射到电脑上的2222端口,使用以下命令,会出现如下结果
➜ iproxy 2222 22 waiting for connection
接下来新开终端,执行命令,并根据提示启动App
➜ python3 dump.py com.ketchapp.2048 Start the target app com.ketchapp.2048 Dumping 2048 to /var/folders/tz/zldyq2q95zzb0xphkv2xycz80000gn/T ... nanopb.fid: 100%|█████████████████████████████████| 79.8k/79.8k [00:00<00:00, 1.12MB/s] close.png: 60.4MB [00:04, 14.1MB/s] 0.00B [00:00, ?B/s] Generating "2048.ipa"
最后在frida-ios-dump
文件夹中可以看到2048.ipa
,则脱壳完成。
5. 安装到非越狱设备
1. 首先下载重签名工具
https://github.com/gltwy/LTResign.git
2. 对ltresign
增加可执行权限(Mac会弹出移到废纸篓,在设置中允许访问即可)
chmod +x ltresign
3. 使用帮助,也可对应Github使用中Readme查看
➜ ./ltresign 重签名需要传入的参数: -s, --source 源App/ipa的路径(必传) -d, --developer 证书签名id(必传) -m, --mobile embedded.mobileprovision路径(必传) -o, --output ipa导出路径(可选,默认当前路径) -n, --name 指定导出后的Display Name(可选,默认为原始) -b, --bundleid 指定导出后的BundleIdentifier(可选,默认为原始) 获取证书签名id: -l, --codesigningid 证书签名id app/ipa是否加密: -e, --encrypt 根据app/ipa路径判断可执行文件是否加密 当前工具的版本: -V, --version 版本号 显示帮助信息: -h, --help 帮助
4. 执行重签名命令(个人证书-7天有效期、开发者证书、企业证书均可)
./ltresign -s ~/LTResign/2048.app -d 0000000000000000000000 -m ../embedded.mobileprovision -o ./glttest.ipa -b "com.halou.test" -n "4096"
运行结果
Creating temp file... 正在开始签名... 支持的设备数:1台 cryptid 0 (已解密) ... glt_tmp/glt_tmp.app: replacing existing signature
5. 然后将glttest.ipa
通过助手安装到手机即可,至此分身制作、安装完成,并可以正常启动,如图