Ethical Hacking Academy · Lezione

Analisi statica degli APK

Decompilazione

Lezione 2 di 413 passaggi

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_src

Codice 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 true

Ottenere 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.apk

Il 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.jar

Cercare 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.apk

Deep 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.

Gratis per iniziare

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

  1. Struttura delle app Android
  2. Analisi statica degli APK
  3. Analisi dinamica con Frida
  4. Archiviazione e comunicazioni non sicure
← Torna a Ethical Hacking Academy