一胖缤、frida配置與使用
原理:通過注入js
實現內存dump
尚镰,再由Python
自動拷貝到電腦生成ipa
包。
創(chuàng)建dump
文件夾哪廓,移動到opt/dump
目錄下狗唉,修改dump.py
中的user、password涡真、host分俯、port
如下:
User = 'root'
Password = 'alpine'
Host = 'localhost'
Port = 2222
二、越獄手機配置
1哆料、打開cydia
添加源:源地址(http://build.frida.re) 并在搜索中下載安裝frida
缸剪。
2、安裝完成后在Mac
端執(zhí)行frida-ps -U
查看是否可以工作东亦。
三杏节、Mac配置
1、安裝Python
:
brew install python
2、安裝wget
brew install wget
3奋渔、安裝pip
:
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
4镊逝、安裝frida
sudo pip install frida –upgrade –ignore-installed six
5、安裝腳本依賴環(huán)境
sudo pip install -r requirements.txt --upgrade
6嫉鲸、安裝usbmuxd
與手機通信
brew install usbmuxd
7撑蒜、設置別名,設置后可以在任意路徑下使用別名執(zhí)行
vim ~/.bash_profile
在尾部添加如下:
alias dump.py="/opt/dump/frida-ios-dump-master/dump.py"
執(zhí)行代碼使生效
source ~/.bash_profile
8玄渗、通過USB
使用ssh
連接設備座菠,將22
映射到電腦上的2222端口
iproxy 2222 22
9、另開終端加入連接 密碼為設備的登錄密碼alpine
捻爷,需要保持連接
ssh -p 2222 root@127.0.0.1
或 ssh root@127.0.0.1 -p 2222
10辈灼、再開終端開始砸殼微信,命令如下:
dump.py 微信
腳本會將破殼后的ipa
包獲取到當前路徑也榄,在哪個路徑執(zhí)行將會獲取到哪個路徑巡莹。
端口映射:
連接設備:
開始砸殼:
其他命令:
frida-ps -U -a //獲取手機所有啟動的應用
dump.py -l //獲取手機所有安裝的應用
dump.py xxx //對xxx應用砸殼
四、開發(fā)中遇到的問題
1甜紫、報錯信息
Caught exception: <class 'paramiko.ssh_exception.SSHException'>: Error reading SSH protocol banner[Errno 54] Connection reset by peer
打開微信或重新插入USB接口降宅,在執(zhí)行以上命令即可。
2囚霸、報錯信息
ERROR: frida-tools 7.2.0 has requirement prompt-toolkit<4.0.0,>=3.0.3, but you'll have prompt-toolkit 2.0.10 which is incompatible
解決:
cd /opt/dump/frida-ios-dump
sudo pip uninstall prompt-toolkit
sudo pip install prompt-toolkit==1.0.6, //重新安裝其他版本
再執(zhí)行
sudo pip install -r requirements.txt --ignore-installed six
frida-ps -U
修改完成腰根。
3、dump.py 微信
執(zhí)行報錯
need gadget to attach; its default location is: /Users/hibo/.cache/frida/gadget-ios.dylib
解決:
在越獄手機Cydia應用
中選擇相應的Frida
安裝包拓型,如:iPhone6s(11.4.1)
選擇Frida for pre-A12 devices
4额嘿、iproxy 2222 22
執(zhí)行報錯
dyld: Library not loaded: /usr/local/opt/libplist/lib/libplist.3.dylib
Referenced from: /usr/local/bin/iproxy
Reason: image not found
注意更新插:
執(zhí)行:brew install usbmuxd
提示:libusbmuxd 2.0.1 is already installed To upgrade to 2.0.2, run
brew upgrade libusbmuxd`
執(zhí)行:brew upgrade libusbmuxd
即可解決
5、缺少庫
如:ModuleNotFoundError: No module named 'paramiko'
劣挫、ModuleNotFoundError: No module named 'scp'
解決:
重新安裝:pip install paramiko
册养、pip install scp
,缺少什么安裝即可
6压固、TypeError: can't concat str to bytes
不能將字節(jié)類型值賦值給str類型的變量球拦,需要將字節(jié)逆編碼后再賦值。
解決: /opt/dump/frida-ios-dump-master/dump.py
文件中將if IS_PY2
修改為if IS_PY2 or isinstance(baseName, bytes)
帐我,判斷baseName是否為字節(jié)類型(進行逆編碼)
def progress(filename, size, sent):
baseName = os.path.basename(filename)
# 修改處
# if IS_PY2:
if IS_PY2 or isinstance(baseName, bytes):
t.desc = baseName.decode("utf-8")
else:
t.desc = baseName
t.total = size
t.update(sent - last_sent[0])
last_sent[0] = 0 if size == sent else sent
7坎炼、unable to attach to the specified process
手機iPhone6s
,14.4
拦键。dump
報錯如下:
desktop dump.py 微信
Start the target app 微信
unable to attach to the specified process
解決:
打開Cydia
應用谣光,搜索Frida
選擇Frida for 32-bit devices
安裝后,重新dump
即可芬为。
8抢肛、dump.py xxx砸殼無反應
解決過程:首先查看手機所有進程frida-ps -U
或所有應用frida-ps -Ua
狼钮,發(fā)現查詢失敗報錯如下:
? ? HB yahibo frida-ps -U -a
Traceback (most recent call last):
File "/usr/local/bin/frida-ps", line 5, in <module>
from frida_tools.ps import main
ModuleNotFoundError: No module named 'frida_tools'
缺少frida_tools
模塊,使用pip安裝:
sudo pip install frida_tools
安裝成功后問題便解決捡絮,使用dump.py xxx
進行砸殼即可熬芜。
其他:
系統(tǒng)應用 /var/mobile/Library .app: /System/Library/CoreServices