Ethical Hacking Academy · Lektion

Statisk analyse af APK'er

Dekompilering

Lektion 2 af 413 trin

Statisk analyse af APK'er er en gratis Ethical Hacking Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Ethical Hacking Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Ethical Hacking Academy-kurset indeholder 4 lektioner i alt.

Statisk APK-analyse

Statisk analyse af en APK betyder, at du undersøger dens kode og ressourcer uden at køre den. Målet er at genskabe læsbar, kildekodelignende kode fra den kompilerede DEX.

Det afslører hårdkodede hemmeligheder, logiske fejl og appens faktiske adfærd.

Afkodning med apktool

apktool afkoder en APK tilbage til læsbare ressourcer og smali (en menneskeligt læsbar form af DEX-bytekode). Det afkoder også den binære AndroidManifest.xml.

Brug det til at læse manifestet og pakke ændrede apps om.

apktool d app.apk -o app_src

Smali-kode

Smali er det assemblersproglignende sprog til Dalvik-bytekode. Det er ordrigt, men lader dig foretage præcise ændringer, f.eks. omgå en kontrol ved at ændre en sammenligning.

Du kan patche smali og genopbygge APK'en for at ændre appens adfærd.

const/4 v0, 0x1   # force a boolean to true

Hent Java med jadx

jadx dekompilerer DEX direkte til læsbar Java. GUI-versionen, jadx-gui, lader dig gennemse klasser, søge efter strenge og følge metodekald.

Det er den hurtigste måde at forstå en apps logik på.

jadx-gui app.apk

Vejen via dex2jar

En alternativ arbejdsgang konverterer DEX til en JAR med dex2jar og åbner den derefter i en Java-decompiler som JD-GUI.

jadx giver normalt et renere output, men dex2jar er nyttigt, når jadx har problemer.

d2j-dex2jar app.apk -o app.jar

Jagten på hemmeligheder

Dekompileret kode indeholder ofte hårdkodede hemmeligheder: API-nøgler, adgangstokens, krypteringsnøgler og URL'er til backend-systemer.

Søg i kildekoden efter nøgleord som password, secret, apikey og http. Udviklere antager fejlagtigt, at kompileret kode skjuler disse.

grep -ri "api_key\|secret\|password" app_src/

Gennemgang af manifestet

Når manifestet er afkodet, skal du kontrollere:

  • Eksporterede komponenter.
  • android:debuggable="true".
  • android:allowBackup="true" (data kan udtrækkes via en sikkerhedskopi).
  • Farlige eller brugerdefinerede tilladelser.

Netværkssikkerhedskonfiguration

Netværkssikkerhedskonfigurationen styrer TLS-adfærden. En konfiguration, der tillader ukrypteret trafik eller har tillid til brugerinstallerede CA'er, svækker transportsikkerheden.

Sådanne indstillinger gør aflytning (et senere emne) langt lettere.

<application android:usesCleartextTraffic="true">

Automatisk scanning med MobSF

MobSF (Mobile Security Framework) automatiserer statisk analyse. Upload en APK, så rapporterer det tilladelser, hårdkodede hemmeligheder, usikre indstillinger og en risikoscore.

Det er fremragende til en indledende vurdering, selvom en manuel gennemgang stadig finder dybere problemer.

Ombygning og ny signering

Efter du har patchet smali, skal du genopbygge med apktool og signere APK-filen igen (Android afviser apps uden signatur). Værktøjer som apksigner eller uber-apk-signer håndterer signeringen.

Denne arbejdsgang danner grundlag for tests af manipulering og ændringer under kørsel.

apktool b app_src -o patched.apk
uber-apk-signer -a patched.apk

Dybe links og WebViews

Se efter intent-filtre for deep links og brug af WebView. Forkert konfigurerede deep links kan starte interne skærmbilleder med data, som en angriber kontrollerer.

WebViews med JavaScriptInterface eller WebViews, der indlæser indhold, du ikke har tillid til, kan udsætte appen for injektion og datatyveri. Begge dele er almindelige fund ved statisk gennemgang.

Hurtigt tjek

Husk, hvilket værktøj der giver dig læsbar Java direkte fra en APK.

Opsummering

Du forstår nu statisk APK-analyse:

  • Brug apktool til smali og det afkodede manifest og jadx til læsbar Java.
  • Led efter hardkodede hemmeligheder, og gennemgå manifestet for flag, der angiver eksporterede komponenter, fejlfinding og sikkerhedskopiering.
  • Kontrollér Network Security Config, og brug MobSF til automatiseret indledende analyse.
  • Patch smali, og genopbyg og signér igen for at teste manipulering.

Dernæst skal du manipulere en app, der kører, med Frida.

Gratis at komme i gang

Lær Ethical Hacking Academy med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
31
Lektioner
111

Ofte stillede spørgsmål

Er lektionen “Statisk analyse af APK'er” gratis?

Ja — hele teksten til “Statisk analyse af APK'er” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Ethical Hacking Academy-kurset, skal du opgradere til CoddyKit PRO. Ethical Hacking Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Statisk analyse af APK'er”?

Dekompilering Du øver dig i Ethical Hacking Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Ethical Hacking Academy?

Der kræves ingen tidligere erfaring. Ethical Hacking Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Statisk analyse af APK'er”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Ethical Hacking Academy-lektion?

Ja. Alle Ethical Hacking Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Android-appens struktur
  2. Statisk analyse af APK'er
  3. Dynamisk analyse med Frida
  4. Usikker lagring og kommunikation
← Tilbage til Ethical Hacking Academy