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