Analisi statica degli APK
Decompilazione
Analisi statica degli APK è una lezione Ethical Hacking Academy gratuita su CoddyKit. Questa è la lezione 2 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.
Analisi statica degli APK
L'analisi statica di un APK consiste nell'esaminarne il codice e le risorse senza eseguirlo. L'obiettivo è recuperare dal DEX compilato codice leggibile simile al sorgente.
Questo rivela segreti hardcoded, difetti logici e il comportamento effettivo dell'app.
Decodificare con apktool
apktool decodifica un APK riportandolo a risorse leggibili e a smali (una forma leggibile dall'uomo del bytecode DEX). Decodifica anche il file binario AndroidManifest.xml.
Lo utilizzi per leggere il manifest e riconfezionare le app modificate.
apktool d app.apk -o app_srcCodice smali
Smali è il linguaggio simile all'assembly del bytecode Dalvik. È verboso, ma consente modifiche precise, ad esempio aggirare un controllo modificando un confronto.
Può applicare patch allo smali e ricostruire l'APK per alterare il comportamento dell'app.
const/4 v0, 0x1 # force a boolean to trueOttenere Java con jadx
jadx decompila direttamente il DEX in Java leggibile. La versione con interfaccia grafica, jadx-gui, consente di esplorare le classi, cercare stringhe e seguire le chiamate ai metodi.
È il modo più rapido per comprendere la logica di un'app.
jadx-gui app.apkIl percorso dex2jar
Un flusso alternativo converte il DEX in un JAR con dex2jar, quindi lo apre in un decompiler Java come JD-GUI.
Di solito jadx produce un output più pulito, ma dex2jar è utile quando jadx incontra difficoltà.
d2j-dex2jar app.apk -o app.jarCercare i segreti
Il codice decompilato contiene spesso segreti hardcoded: chiavi API, token, chiavi di cifratura e URL del backend.
Cerchi nel sorgente parole chiave come password, secret, apikey e http. Gli sviluppatori presumono erroneamente che il codice compilato nasconda questi dati.
grep -ri "api_key\|secret\|password" app_src/Esaminare il manifest
Una volta decodificato il manifest, controlli:
- i componenti esportati;
android:debuggable="true";android:allowBackup="true"(i dati possono essere estratti tramite backup);- le autorizzazioni pericolose o personalizzate.
Configurazione della sicurezza di rete
La Network Security Configuration controlla il comportamento di TLS. Una configurazione che consente il traffico in chiaro o considera attendibili le CA aggiunte dall'utente indebolisce la sicurezza del trasporto.
Queste impostazioni rendono molto più facile l'intercettazione (un argomento successivo).
<application android:usesCleartextTraffic="true">Scansione automatizzata con MobSF
MobSF (Mobile Security Framework) automatizza l'analisi statica. Carichi un APK e il programma segnala autorizzazioni, segreti hardcoded, impostazioni non sicure e un punteggio di rischio.
È ottimo per il triage, anche se una revisione manuale consente ancora di individuare problemi più profondi.
Ricostruzione e nuova firma
Dopo aver applicato le patch allo smali, ricostruisca l'APK con apktool e lo firmi nuovamente (Android rifiuta le app senza firma). Strumenti come apksigner o uber-apk-signer gestiscono la firma.
Questo flusso di lavoro è alla base dei test di manomissione e delle modifiche a runtime.
apktool b app_src -o patched.apk
uber-apk-signer -a patched.apkDeep link e WebView
Cerchi i filtri degli intent per i deep link e l'utilizzo di WebView. Deep link configurati in modo errato possono avviare schermate interne con dati controllati dall'aggressore.
Le WebView con JavaScriptInterface o che caricano contenuti non attendibili possono esporre l'app a injection e furto di dati. Entrambi sono problemi comuni rilevati durante la revisione statica.
Verifica rapida
Ricordi quale strumento fornisce codice Java leggibile direttamente da un APK.
Riepilogo
Ora comprende l'analisi statica degli APK:
- Usi apktool per lo smali e il manifest decodificato; jadx per ottenere codice Java leggibile.
- Cerchi segreti hardcoded e analizzi il manifest alla ricerca dei flag exported, debuggable e backup.
- Controlli la Network Security Config; usi MobSF per un triage automatizzato.
- Applichi patch allo smali, quindi ricostruisca e firmi nuovamente l'app per testare la manomissione.
Ora manipolerà un'app in esecuzione con Frida.
Impara Ethical Hacking Academy con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 31
- Lezioni
- 111
Domande Frequenti
La lezione «Analisi statica degli APK» è gratuita?
Sì — il testo completo di «Analisi statica degli APK» è 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 statica degli APK»?
Decompilazione 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 2 di 4.
Quanto tempo richiede la lezione «Analisi statica degli APK»?
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