Analisis Dinamis dengan Frida
Frida dan hooking
Analisis Dinamis dengan Frida adalah pelajaran Ethical Hacking Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ethical Hacking Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ethical Hacking Academy mencakup 4 pelajaran total.
Apa Itu Frida?
Frida adalah perangkat bantu instrumentasi dinamis. Frida menyuntikkan mesin JavaScript ke dalam aplikasi yang sedang berjalan, sehingga Anda dapat memeriksa dan mengubah perilakunya saat runtime tanpa mengompilasi ulang.
Frida adalah alat terpenting untuk pengujian penetrasi seluler dinamis.
Cara Kerja Frida
Frida menjalankan agen kecil (frida-server pada perangkat) dan klien pada mesin Anda. Anda menulis JavaScript yang memasang kait pada fungsi-fungsi proses target.
Skrip Anda dapat membaca argumen, mengubah nilai yang dikembalikan, dan memanggil metode secara langsung.
Penyiapan
Anda mengirim biner frida-server yang sesuai ke perangkat yang telah di-root (atau menggunakan APK yang ditambal dengan frida-gadget pada perangkat yang belum di-root), lalu menjalankannya.
Alat desktop kemudian terhubung melalui USB.
adb push frida-server /data/local/tmp/
adb shell /data/local/tmp/frida-server &Menginventarisasi Aplikasi
Konfirmasikan koneksi dengan mencantumkan aplikasi yang terpasang dan proses yang sedang berjalan menggunakan alat CLI Frida.
Hal ini memverifikasi bahwa frida-server dapat dijangkau dan memberikan nama paket yang akan ditargetkan.
frida-ps -UaiApa Itu Hooking?
Hooking berarti mencegat suatu fungsi agar kode Anda berjalan sebelum, sesudah, atau sebagai penggantinya. Anda dapat mencatat input, memeriksa output, atau mengganti perilaku sepenuhnya.
Di Android, Anda memasang kait pada metode Java (dan fungsi native) di dalam aplikasi yang sedang berjalan.
Hook Java Sederhana
Di dalam Java.perform, Anda memilih sebuah kelas, memilih metode, lalu mengganti implementation-nya. Anda dapat mencatat argumen, kemudian memanggil fungsi asli.
Perhatikan bahwa contoh ini menggunakan tanda kutip tunggal, bukan backtick, agar tetap aman untuk JSON.
Java.perform(function(){
var Login = Java.use('com.app.Login');
Login.check.implementation = function(pw){
console.log('pw=' + pw);
return this.check(pw);
};
});Melewati Pemeriksaan
Untuk melewati logika tertentu, ganti sebuah metode agar mengembalikan nilai apa pun yang Anda inginkan. Misalnya, paksa pemeriksaan root atau lisensi agar mengembalikan false (tidak terdeteksi) atau true (diizinkan).
Hal ini mengalahkan keamanan sisi klien yang terlalu mempercayai perangkat.
RootCheck.isRooted.implementation = function(){ return false; };Melewati SSL Pinning
Aplikasi menggunakan SSL pinning untuk menolak proksi. Skrip Frida (seperti Objection yang populer atau skrip untuk melewati pinning universal) memasang kait pada logika pinning sehingga Anda dapat mencegat lalu lintas HTTPS.
Hal ini penting untuk memeriksa panggilan API aplikasi melalui proksi.
frida -U -f com.app -l ssl-bypass.jsObjection
Objection dibangun di atas Frida dan menyediakan perintah siap pakai: melewati SSL pinning, mencadangkan keystore, mencantumkan aktivitas, dan membaca penyimpanan aplikasi, semuanya tanpa menulis skrip.
Alat ini mempercepat tugas-tugas umum selama penilaian.
objection -g com.app exploreMenjalankan Baru vs Melampirkan
Frida dapat melampirkan diri ke proses yang sedang berjalan atau menjalankan baru aplikasi dengan skrip Anda dimuat sejak awal (-f).
Menjalankan baru diperlukan ketika Anda harus memasang kait pada kode yang berjalan lebih awal, seperti pemeriksaan anti-manipulasi saat mulai.
frida -U -f com.app -l hook.js --no-pauseMelacak dengan frida-trace
frida-trace secara otomatis membuat dan memasang kait untuk fungsi yang cocok dengan suatu pola, lalu mencatat setiap panggilan. Alat ini sangat berguna untuk menemukan metode mana yang benar-benar digunakan aplikasi.
Anda dapat menargetkan metode Java atau fungsi native, lalu menyempurnakan penangan yang dibuat untuk memeriksa argumen tertentu.
frida-trace -U -f com.app -j '*Crypto*!*'Pemeriksaan Cepat
Ingat kembali kemampuan inti Frida.
Rangkuman
Sekarang Anda memahami analisis dinamis dengan Frida:
- Frida menyuntikkan mesin JS untuk memasang kait pada fungsi di aplikasi yang sedang berjalan.
- Siapkan frida-server, inventarisasi dengan
frida-ps, dan pasang kait pada metode Java. - Ganti metode untuk melewati pemeriksaan dan SSL pinning; Objection mengotomatiskan proses ini.
- Gunakan mode spawn untuk menangkap kode yang berjalan saat awal mulai.
Selanjutnya Anda akan memeriksa penyimpanan dan komunikasi yang tidak aman.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Analisis Dinamis dengan Frida” gratis?
Ya — teks lengkap “Analisis Dinamis dengan Frida” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ethical Hacking Academy, upgrade ke CoddyKit PRO. Kursus Ethical Hacking Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Analisis Dinamis dengan Frida”?
Frida dan hooking Kamu berlatih Ethical Hacking Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Ethical Hacking Academy?
Tidak diperlukan pengalaman sebelumnya. Ethical Hacking Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Analisis Dinamis dengan Frida” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Ethical Hacking Academy ini?
Ya. Setiap pelajaran Ethical Hacking Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Struktur Aplikasi Android
- Analisis Statis APK
- Analisis Dinamis dengan Frida
- Penyimpanan dan Komunikasi yang Tidak Aman