frida版本管理 一個環境安裝多個frida
寫文章初衷:
網上關於frida安裝的文章一搜一籮筐。
那我為什么要再寫一篇?
主要是因為一個b站的粉絲大佬后台私信了我,我又想保持周更,水一個簡單的視頻,所以就有了這一篇文章和配套視頻
安裝frida 兩行命令就搞定了,寫這個實在是沒有啥技術含量。
但是,想安裝多個不同版本的frida怎么搞?
畢竟不同的場合,不同的安卓版本,要使用不同版本的frida。畢竟frida會玄學出一些問題,你反復去找解決方案,然后發現換個版本就解決了。這個時候不知道你是咋想的,反正我是寄一個刀片,讓大胡子刮了他的大胡子,讓他好好寫代碼。
大家好,我是王鐵頭 一個乙方安全公司搬磚的菜雞
持續更新移動安全,iot安全,編譯原理相關原創視頻文章
演示視頻:[https://space.bilibili.com/430241559]
1.環境准備 安裝miniconda
1) ubuntu 安裝miniconda
關於安裝多個版本,我看到有的大佬用pyenv,pyenv我之前用過,有些坑坑到我放棄了。
我這里用miniconda。
miniconda是一個虛擬環境,在虛擬環境里安裝的軟件是虛擬環境私有的,不會污染主環境。
miniconda下載地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
翻到頁面下面 選擇這個版本:
下載下來 進入當前目錄 執行安裝文件。
sh Miniconda3-py38_4.9.2-Linux-x86_64.sh
按回車鍵繼續安裝
輸入yes
是確認安裝路徑 這里直接回車
這里直接輸入yes
安裝完畢
這時候關掉當前的命令行 打開一個新的命令行
查看是否安裝成功
conda --version
安裝成功
這里安裝完成后 打開新的cmd窗口 在用戶名之前 總是有個 (base)陰魂不散
這里是默認進入了 conda的環境
如果想關閉 直接執行一行命令 然后重新打開命令行就好
conda config --set auto_activate_base false
執行命令 重新打開命令行后 恢復正常
2) 配置conda 軟件源
這里的專業術語是 channels 意思是頻道,其實通俗點講就是下載軟件的網址,我這里直接叫軟件源
這里設置成北京外國語學院的軟件源 因為用清華源的人實在是太多了 讓那些用清華源的內卷去吧 我們猥瑣發育就可
復制粘貼一波 執行下面的命令就好
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
2.安裝第一個frida 和 frida-tools
第一個frida的版本我選擇 12.8.0 因為這個版本被一些大佬評價穩如老狗
所以先拿frida 12.8.0 開刀
以下是要安裝的frida和 frida-tools版本
frida 12.8.0
frida-tools 5.3.0
步驟1)conda創建新的python環境 >= 3.7
在frida官網關於安裝的描述中,表示強烈推介安裝最新的python 3.x版本,這里就表示推介安裝最新的,目前最新的是3.9,在一些文章和我的實測中,這里建議安裝 >= 3.7的版本
這里一行命令搞定
命令格式:conda create -n 環境名 python=python版本
這里我執行
conda create -n wtt_firda_1280 python=3.8
下圖是安裝過程
提示安裝軟件包的時候 輸入Y即可
步驟2) 安裝frida 以及 frida-tools
在conda環境軟件包 首選語法是 conda install 軟件包=版本號
但是這里有些軟件包的版本號在conda軟件源是沒有的
我們這里可以用 pip安裝
conda activate wtt_firda_1280 //激活conda環境
python -m pip install frida==12.8.0 //不要直接用pip安裝
python -m pip install frida-tools==5.3.0 //不要直接用pip安裝
安裝的時候 注意 ,一定要激活虛擬環境,用戶名前面看到 (虛擬環境名)就表示已經在虛擬環境里面了
這里我的其他conda虛擬環境已經安裝過這個版本的frida, 所以這里直接讀了一些緩存之類的,安裝變的很快,正常情況下,第一次安裝花個20分鍾也是比較常見的。
步驟3 下載frida-server
frida server下載網址 :https://github.com/frida/frida/releases
frida server12.8.0 下載網址https://github.com/frida/frida/releases/tag/12.8.0
這里可以執行命令查看架構去選擇對應的frida-server
getprop ro.product.cpu.abi
就像下圖 選擇x86就可以了
下載解壓 push到手機的 /data/local/tmp 目錄 文件改名成frida_server_1280
wtt@ubuntu:frida-server$ adb push frida_server_1280 /data/local/tmp
frida_server_1280: 1 file pushed. 15.4 MB/s (38545744 bytes in 2.395s)
wtt@ubuntu:frida-server$
wtt@ubuntu:frida-server$ adb shell
riva:/ $
riva:/ $ cd /data/local/tmp
riva:/data/local/tmp $ su
riva:/data/local/tmp #
riva:/data/local/tmp # chmod 777 frida_server_1280
riva:/data/local/tmp #
riva:/data/local/tmp # ./frida_server_1280
conda activate wtt_frida_1280
frida-ps -U
3.安裝第二個frida 和 frida-tools
這里安裝第二個流程基本上和第一個是一樣的 也就是創建的虛擬環境不同 安裝的frida版本不同而已
步驟1)conda創建新的python環境 >= 3.7
命令格式:conda create -n 環境名 python=python版本
這里我執行
conda create -n wtt_firda_new python=3.7
上面的命令我換了虛擬環境的名字,畢竟虛擬環境是不能重名的,python版本換不換都行,我這里換成了3.7
上圖是創建環境的全過程 跟安裝第一個基本沒有啥區別
步驟2)安裝frida 以及frida-tools
安裝最新版的frida 和 frida-tools 都不用2條命令
一行命令就可以了
conda activate wtt_firda_1280 //激活conda環境
python -m pip install frida-tools //會自動安裝最新的frida 和frida-tools
步驟3)下載frida-server
網址:https://github.com/frida/frida/releases
目前因為大家的cpu都是64位,所以一般選 arm64
這里我選擇的是 frida-server-14.2.18-android-arm64.xz
下載慢的話,可以直接復制地址去迅雷下載
執行frida
conda activate wtt_firda_new
frida-ps -U
4.安裝第N個frida 和 frida-tools 和上面一樣
上面我們創建了不同的虛擬環境 安裝了2個不同版本的frida
后續安裝更多不同版本的frida 過程也是一樣的,創建新的conda虛擬環境 安裝frida就可以了
用的時候激活不同的虛擬環境,調用虛擬環境里的frida
而且對我們主機的環境是沒有任何影響的 因為虛擬環境安裝的軟件是虛擬環境私有的
對主機的環境並沒有影響
在主環境執行 frida 提示命令未找到 因為上面兩個版本的frida並沒有安裝到主環境中
而是安裝到了不同的虛擬環境中,對主環境沒有任何污染 影響
上面的方法不僅可以安裝多個不同版本的frida 也可以同時安裝不同版本的其他軟件
十分便捷
完結撒花
持續更新移動安全,iot安全,編譯原理相關原創視頻文章
相關資料關注公眾號回復 關鍵字 frida 進行下載