IOS砸壳过程
一:Frida砸壳基本原理:
Frida-ios-dump基于Frida(一个跨平台的轻量级Hook框架)提供的强大功能,通过注入JS实现内存dump,然后利用Python自动复制到macOS生成最终的ipa文件
下载:frida-ios-dump
将下载下来的frida-ios-dump目录,移动到/opt 目录下。
mv frida-ios-dump /opt/
cd /opt/frida-ios-dump
修改dump.py的配置信息
User ='root'
Password ='alpine'
Host ='localhost'
Port =2222
root的默认passwrod 是‘alpine’, 根据自己的手机root填写。
二:越狱手机配置
1、打开
cydia
添加源:源地址 并在搜索中下载安装
frida
。
https://build.frida.re
cydia 添加源依赖网络,如果解析失败,多试几次,或者科学上网。
三:Mac 配置
1.安装frida:
sudo pip install frida –upgrade –ignore-installed six
2、安装dump.py脚本依赖环境
cd /opt/frida-ios-dump
sudo pip install-r requirements.txt --upgrade
3、安装
usbmuxd
与手机通信
brew install usbmuxd
4、配置一个全局命令,执行dump.py脚本。
vim ~/.bash_profile
在bash_profile文件尾部添加:
alias dump_ios="/opt/frida-ios-dump/dump.py"
在当前的shell终端内同步环境变量:
source ~/.bash_profile
四:dump App
1.手机通过数据线连上电脑后:
iproxy 222222
会建立ssh链接,等待通信
2.打开一个新终端:
dump_ios -h
usage: dump.py [-h][-l][-o OUTPUT_IPA][-H SSH_HOST][-p SSH_PORT][-u SSH_USER][-P SSH_PASSWORD][-K SSH_KEY_FILENAME][target]
frida-ios-dump (by AloneMonkey v2.0)
positional arguments:
target Bundle identifier or display name of the target app
optional arguments:
-h, --help show this help message and exit
-l, --list List the installed apps
-o OUTPUT_IPA, --output OUTPUT_IPA
Specify name of the decrypted IPA
-H SSH_HOST, --host SSH_HOST
Specify SSH hostname-p SSH_PORT, --port SSH_PORT
Specify SSH port
-u SSH_USER, --user SSH_USER
Specify SSH username
-P SSH_PASSWORD, --password SSH_PASSWORD
Specify SSH password
-K SSH_KEY_FILENAME, --key_filename SSH_KEY_FILENAME
Specify SSH private key file path
dump_ios -l 列出手机上安装的应用(对已经安装的应用砸壳)
PID Name Identifier
---- ---------- ---------------------------
3550 App Store com.apple.AppStore
1881 Cydia com.saurik.Cydia
3141 Lantern org.getlantern.lantern
3527 Safari 浏览器 com.apple.mobilesafari
3923 TikTok com.zhiliaoapp.musically
1625 设置 com.apple.Preferences
dump TikTok 即将应用砸壳后的包,搞到当前路径下。
五:配置中遇到的问题
1.执行dump.py 出错
Traceback (most recent call last):
File “/opt/ios-frida-dump/dump.py”, line 11, in
import frida
ImportError: No module named frida
解决办法:
1.确认python 版本,确认pip install 的python 版本,和当前python 命令是否是一个版本。
2.切换python版本运行脚本。
3.上述不OK,尝试更新frida 版本或者重新安装frida-tools。
4.如果还不行,创建一个python的虚拟环境,重新安装frida-tools。
virtualenv env && source env/bin/activate && pip install frida-tools
5.再次虚拟环境里,执行脚本
参考:
版权归原作者 子云之风 所有, 如有侵权,请联系我们删除。