Analisi dinamica con Frida
Frida e hooking
Analisi dinamica con Frida è una lezione Ethical Hacking Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ethical Hacking Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Che cos'è Frida?
Frida è un toolkit per l'instrumentation dinamica. Inietta un motore JavaScript in un'app in esecuzione, consentendo di ispezionarne e modificarne il comportamento a runtime, senza ricompilarla.
È lo strumento più importante per il pentesting mobile dinamico.
Come funziona Frida
Frida esegue un piccolo agent (il frida-server sul dispositivo) e un client sul computer. Lei scrive codice JavaScript che inserisce hook nelle funzioni del processo target.
Gli script possono leggere gli argomenti, modificare i valori restituiti e chiamare direttamente i metodi.
Configurazione
Trasferisca il binario frida-server corrispondente su un dispositivo con root (oppure usi un APK con patch e frida-gadget sui dispositivi senza root) e lo esegua.
Gli strumenti desktop si connettono quindi tramite USB.
adb push frida-server /data/local/tmp/
adb shell /data/local/tmp/frida-server &Enumerazione delle app
Confermi la connessione elencando le app installate e i processi in esecuzione con gli strumenti CLI di Frida.
In questo modo verifica che frida-server sia raggiungibile e ottiene il nome del package da usare come target.
frida-ps -UaiChe cos'è l'hooking?
Hooking significa intercettare una funzione affinché il proprio codice venga eseguito prima, dopo o al posto di essa. Può registrare gli input, ispezionare gli output o sostituire completamente il comportamento.
Su Android, inserisce hook nei metodi Java (e nelle funzioni native) all'interno dell'app in esecuzione.
Un semplice hook Java
All'interno di Java.perform, seleziona una classe, sceglie un metodo e ne sovrascrive implementation. Può registrare gli argomenti e poi chiamare l'implementazione originale.
Noti che l'esempio usa apici singoli, mai i backtick, per rimanere compatibile con JSON.
Java.perform(function(){
var Login = Java.use('com.app.Login');
Login.check.implementation = function(pw){
console.log('pw=' + pw);
return this.check(pw);
};
});Elusione di un controllo
Per eludere una logica, sovrascriva un metodo in modo che restituisca il valore desiderato. Ad esempio, può forzare un controllo del root o della licenza a restituire false (non rilevato) oppure true (autorizzato).
In questo modo neutralizza la sicurezza lato client che si fida del dispositivo.
RootCheck.isRooted.implementation = function(){ return false; };Elusione del certificato SSL pinning
Le app usano il certificate pinning SSL per rifiutare i proxy. Gli script Frida (come il popolare Objection o gli script universali per eludere il pinning) inseriscono hook nella logica di pinning, consentendo di intercettare il traffico HTTPS.
È essenziale per ispezionare le chiamate API di un'app attraverso un proxy.
frida -U -f com.app -l ssl-bypass.jsObjection
Objection è basato su Frida e offre comandi pronti all'uso: eludere il certificate pinning SSL, eseguire il dump del keystore, elencare le activity e leggere lo storage dell'app, tutto senza scrivere script.
Accelera le attività comuni durante una valutazione.
objection -g com.app exploreAvvio e collegamento
Frida può collegarsi a un processo in esecuzione oppure avviare l'app da zero con lo script caricato fin dall'inizio (-f).
L'avvio è necessario quando deve inserire hook nel codice eseguito nelle prime fasi, come i controlli anti-manomissione durante l'avvio.
frida -U -f com.app -l hook.js --no-pauseTracing con frida-trace
frida-trace genera e collega automaticamente hook alle funzioni che corrispondono a un pattern, registrando ogni chiamata. È ottimo per scoprire quali metodi utilizza effettivamente un'app.
Può scegliere come target metodi Java o funzioni native, quindi perfezionare gli handler generati per ispezionare argomenti specifici.
frida-trace -U -f com.app -j '*Crypto*!*'Verifica rapida
Ricordi la funzionalità principale di Frida.
Riepilogo
Ora comprende l'analisi dinamica con Frida:
- Frida inietta un motore JS per inserire hook nelle funzioni di un'app in esecuzione.
- Configuri frida-server, enumeri i processi con
frida-pse inserisca hook nei metodi Java. - Sovrascriva i metodi per eludere i controlli e il certificate pinning SSL; Objection automatizza queste operazioni.
- Usi la modalità spawn per intercettare il codice eseguito nelle prime fasi dell'avvio.
Ora esaminerà storage e comunicazioni non sicuri.
Domande Frequenti
La lezione «Analisi dinamica con Frida» è gratuita?
Sì — il testo completo di «Analisi dinamica con Frida» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ethical Hacking Academy, passa a CoddyKit PRO. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Cosa imparerò in «Analisi dinamica con Frida»?
Frida e hooking Eserciti Ethical Hacking Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Ethical Hacking Academy?
Non è richiesta alcuna esperienza precedente. Ethical Hacking Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Analisi dinamica con Frida»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Ethical Hacking Academy?
Sì. Ogni lezione Ethical Hacking Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Struttura delle app Android
- Analisi statica degli APK
- Analisi dinamica con Frida
- Archiviazione e comunicazioni non sicure