安卓逆向環境配置

簡介

在進行安卓逆向的路上踩了一些坑 隨手記錄一下找資料過程嘗試的各種方法 能用虛擬機就用虛擬機 TvT

手機連接 kali adb

Mobile (以三星為例)

手機先進入開發者模式(關於手機/軟體資訊/版本號碼點七下) -> USB選項要選傳輸檔案 看到RSA號碼才算成功

Kali

vbox裡面選啟用USB連線然後選擇裝置 image.png

Terminal window
┌──(kali㉿kali)-[/media/sf_SHARED_FILE]
└─$ └─$ adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
R5CX72ENHEN device

Andoid Studio 虛擬機連線

最簡單拿到一台有ROOT的手機就是用虛擬機

  • 這邊要選沒有 Google Play icon的,不然沒辦法root
  • 選預設的 Google APIs

|400 image.png|400

安裝好後再NAT模式下的VM應該就可以訪問到了(這邊用Vbox的kali)

  • ip route 確認IP
  • adb connect直接連線上去就可以看到了
  • 多個裝置用-s 指定 image.png|650
Terminal window
┌──(.venv)─(kali㉿kali)-[~/Downloads/android]
└─$ adb -s 10.0.2.2:5555 shell
emu64xa:/ $ su
emu64xa:/ #

ROOT 成功!

ROOT <— 備用機推薦

通常要用Frida的一些方便功能需要將手機進行root,但普通的root方式(稱為刷機)有機率性的會需要把資料抹掉或是把指紋解鎖功能去除,在找資料的時候看到幾種不同的方式供參

開Bootloader+神奇工具解鎖root
工具安裝教學評價
Magiskhttps://izaka.tw/magisk-tutorial-and-installation-guide/#google_vignette基礎款
APatchhttps://ivonblog.com/posts/apatch-android-root/KernelPatch, 較隱蔽
KernelSU-Next https://izaka.tw/kernelsu-next-install-guide/成功率高
其他都感覺有點危險就先pass了,另外magisk的開發者後來加入了Google,也有在繼續更新

Frida + Objection <— 私用機推薦

我俗辣,不敢刷機所以用Objeciton解決,他是一個基於Frida的工具,好用 推薦使用虛擬環境,這邊用uv來示範

python 3.13.9 // >=3.11
objeciton 1.12.2 // 只支援python>=3.11,不然會有套件版本衝突
frida 16.7.19 // frida 17 更新了很多api calling 有點慘烈
frida-server 16.7.19 // 需要同個版本,用來丟到手機裡面的
Terminal window
uv python pin 3.13.9
uv venv
uv pip install objection "frida==16.7.19" frida-tools && \
wget https://github.com/frida/frida/releases/download/16.7.19/frida-server-16.7.19-android-arm64.xz
unxz frida-server-16.7.19-android-arm64.xz
adb push frida-server-16.7.19-android-arm64 /data/local/tmp/
chmod 755 /data/local/tmp/frida-server-16.7.19-android-arm64
./data/local/tmp/frida-server-16.7.19-android-arm64 &

最後確認連線 frida-ps -U

frida -U -n com.example.app