How to setup Frida for Emulator (Genymotion)

อธิบายการติดตั้ง Frida server บน Android Emulator ทดสอบการเชื่อมต่อบน เครื่อง MacOS

ติดตั้ง Genymotion Emulator สามารถติดตามได้จากบทความ How to set Genymotion (Android emulator)

จากนั้นติด Android Studio เพื่อเรียกใช้งาน ADB How to install Android Studio

ให้เชื่อมต่อ Emulator กับ ADB เพื่อเข้าถึง directory ของ Emulator ดังนี้

cd /Users/root/Library/Android/sdk/platform-tools/
./adb connect 127.0.0.1
./adb devices 
./adb shell
cd data/local/tmp

ติดตั้งโปรแกรม Busy box เพื่อให้สามารถใช้คำสั่ง wget ได้ จาก https://busybox.th.uptodown.com/android/download

ติดตั้ง Frida client บนเครื่อง MacOS ให้เรียบร้อย สามารถติดตามได้จากบทความ How to install Frida on MacOS

ทดลองตรวจสอบ version frida ก่อนถ้าเป็น version เก่าอาจมีปัญหา ในการเชื่อมต่อ Frida-server ที่เราจะติดตั้งใน Emulator สามารถตรวจสอบ version ได้จากคำสั่ง

source ~/virtual-python3/bin/activate
frida --version

จากนั้นให้ดาวน์โหลดเข้า Emulator โดยเข้าไปตรวจสอบ version ของ Frida server ดังนี้ https://github.com/frida/frida/releases สำหรับ Android เลือก Android x86 และทดลองลง version เดียวกับ client ก่อน ถ้าไม่ทดลองแล้วไม่สามารถเชื่อมต่อได้ ให้เพื่อใช้ version ถัดมาที่ใหม่กว่าเรื่อยๆ

wget https://github.com/frida/frida/releases/download/12.8.0/frida-server-12.8.0-android-x86.xz
unxz frida-server-12.8.0-android-x86.xz   
chmod 777 frida-server-12.8.0-android-x86
mv frida-server-12.8.0-android-x86 frida-server
su
/data/local/tmp/frida &

จากนั้นให้สลับไปที่เครื่อง MacOS และใช้คำสั่งของ Frida client เชื่อมต่อ เข้าไปดูว่ามี Process บนเครื่อง Android Emulator ปรากฏอยู่หรือไม่

frida-ps -aU

ในกรณีติดตั้ง frida server ใน emulator แล้ว run ไม่ขึ้นหรือ เชื่อมต่อไม่ได้ ให้ทำการลบไฟล์ ใน Folder เรา Download มาในที่นี้คือ cd data/local/tmp นอกจาก Frida server แล้ว จะสร้าง Folder ขึ้นมาให้ตามไปลบให้หมด

rm frida-server
rm -r re.frida.server