Sådan dekompileres en Android App Apk

for nylig har vi udgivet en guide til, hvordan du tilføjer afhængigheder for kun specifikke productFlavors. Efter at vi har gennemført de nødvendige skridt, vi ønskede at sikre, at den endelige .apk indeholder faktisk ikke nogen uønskede klasser længere. I dette indlæg viser vi dig, hvordan du kontrollerer, hvilke klasser og ressourcer der er i en apk.

Bemærk: Denne vejledning er designet til dekompilering af din egen apk, og ikke det hårde arbejde fra andre udviklere. Således inkluderede vi ikke nogen trin til reverse-engineer eller arbejde rundt kode forvirring.

>

forberedelse: installation af værktøjerne

en Android apk er dybest set en lynlås mappe, som indeholder af nogle rå ressourcer (billeder, layout filer, ..) og enclasses.dex fil. Denne fil indeholder alle faktiske kode og interesserer os mest. Lad os hente alle de værktøjer, vi har brug for:

  • du skal pakke apk ud. Du kan enten bruge den indbyggede funktionalitet i dit operativsystem eller installere din foretrukne (un)arkiver som 7-lynlås.
  • for at vende classes.dexfilen til en .jar, skal du hente værktøjet deks2jar.
  • endelig, for at gøre .jar fil læsbar for det menneskelige øje, hente og køre JD-Gui.

få din kode tilbage

Okay, nu er det tid til at gøre det egentlige arbejde. Kopier din apk-fil til et bibliotek, du vil arbejde i. Pak apk ud ved hjælp af det valgte værktøj, og du skal få et bibliotek med et par undermapper og et par filer.

udpakket .apk

du er velkommen til at gennemseAndroidManifest.xmlellerres mappe. Det mest interessante stykke er classes.dex. Skift således til dit hentededex2jar værktøj og åbn en ny terminal.

Hvis du bruger Mac OS, skal du udføresh d2j-dex2jar.sh -f -o output.jar your_app_input.apk. Vinduer brugere kan bruge.bat fil til at oprette.jar fil. Når værktøjet løb igennem, skal du gå til den nye .jar fil.

visning af den Dekompilerede kode

start endelig det hentedeJD-GUI værktøj og brug det til at åbne.jar fil.

Dekompileret kodevisning med JD-GUI

Du kan gennemse alle pakker og klasser, som er i din apk. Koden er en strippet version og indeholder ikke nogen kommentarer eller overflødige strukturer, du ser i din IDE. Husk, dette er den kompilerede minimering af din app. Ikke desto mindre bør det give dig nok information til at lære om det grundlæggende i appen. For eksempel hjalp det os med at kontrollere, at der ikke længere er nogen pakker relateret til admob-biblioteket i appen.

andre muligheder

Hvis du bare har brug for en hurtig dekompilering, kan du bruge onlineværktøjet på www.decompileandroid.com/.

for mere avancerede dekompileringsformål kan du se på apktool, som giver mange ekstra hjælpere.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *