Frida Kurulum

Gerekli Yazılım Donanım ve Dosyalar

Python3 (Download)

ADB Windows (Download)

Fridayi Python PIP ile kuruyoruz (pip install frida-tools)

frida-server-10.6.53-android-arm64 (Download)

(Yüklenecek frida-server telefonunuza uygun olmalıdır benim telefonum arm64 işlemciye sahip)

Root’lu Bir telefon yada Android Studio Emulatoru (Biz rootlu bir galaxy s6 kullanacağız)


ADB yi kuruyoruz, indirdip unzip ettiğimiz frida-server-10.6.53-android-arm64 dosyasını pushluyoruz.
Shell’den su izinlerini alıp telefona frida-server’i attıktan sonra çalıştırma iznini verip, uygulamayı arka planda çalıştırıyoruz:

adb push .\frida-server-x.x.x-android-arm64 /data/local/tmp/
adb shell
su (Telefondan permission vermeyi unutmayın)
cd /data/local/tmp
chmod +x .\frida-server-xxx-android-arm64
./frida-server-xxx-android-arm64 &

• Yine python ekranına geçip debug edilecek uygulamayı çalışıtırdıktan sonra,
yeni konsol ekranına frida-ps -U yazıp çalışan uygulamaların listesini görüyoruz.
• Uygulamaya bağlanıyoruz
(Failed to attach: ambigous name; it matches: ….. (pid: xxxx) … şeklinde bir hata alırsak anti-debugger gibi bir önlem olabileceğini ve -f parametresi ile process’e inject olmak yerine Zygote a bağlanıp processi başlatmış ve bu önlemi aşmış oluyoruz)

frida-ps -U                  //Çalışan Uygulamaları Listeler
frida-ps -aU                 //Çalışan uygulamaları ve isimlerini listeler
frida -U com.package.name    //Uygulamaya bağlanır

Aşağıdaki hatayı alıyorsanız (Çözüm için Kodu Genişletiniz)

Failed to attach: failed to execute child process “/data/local/tmp/re.frida.server/frida-helper-64” (Permission denied)
Failed to Spawn: failed to execute child process "/data/local/tmp/re.frida.server/frida-helper-32" (Permission Denied)
// Frida serveri tmp yerine /system/priv-app içerisine taşımamız ve oradan çalıştırmamız gerekmektedir.
// Sorun çözülmez ise en son root yazılımı olarak magisk kullanıyorsanız rootu tüm google ve samsung uygulamalarından gizleyin.
su
mount -o rw,remount /system
mv /data/local/tmp/frida-server /system/priv-app
chown root:root /system/priv-app/frida-server
chmod 733 /system/priv-app/frida-server
mount -o ro,remount /system

//Artık frida serveri çalıştırmak için /system/priv-app içerisine gidip frida-serveri çalıştırıyoruz
cd /system/priv-app
./frida-server-xxx-android-arm64 &

Basit Kaynaklar:

https://www.frida.re/docs/javascript-api/

http://www.ninoishere.com/frida-learn-by-example/

https://www.codemetrix.net/hacking-android-apps-with-frida-1/

http://www.ninoishere.com/frida-learn-by-example/

https://serializethoughts.com/2016/08/18/bypassing-ssl-pinning-in-android-applications/

https://pen-testing.sans.org/blog/pen-testing/2015/06/30/modifying-android-apps-a-sec575-hands-on-exercise-part-1

https:// www.notsosecure.com/pentesting-android-apps-using-frida/

Method Signaturelar ile ilgili bilgileri içeren reverse HowTo:
https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html

Frida Code DB:
https://codeshare.frida.re/
https://github.com/dweinstein/awesome-frida

Deneme Yanılma Yöntemiyle Hook:
https://grepharder.github.io/blog/0x02_learning_frida_by_failing.html

Advanced Kaynaklar:

Frida CheatSheet: https://rehex.ninja/posts/frida-cheatsheet/

Dexcalibur: https://github.com/FrenchYeti/dexcalibur

https://corellium.com/blog/android-frida-finding-hooks

https://github.com/seemoo-lab/frida-scripts

https://github.com/hluwa/strongR-frida-android

https://www.ired.team/miscellaneous-reversing-forensics/windows-kernel-internals/instrumenting-windows-apis-with-frida