Hur man dekompilerar en Android-App Apk

nyligen har vi publicerat en guide om hur man lägger till beroenden för endast specifika productFlavors. Efter att vi har genomfört de nödvändiga stegen ville vi se till att finalen .apk innehåller faktiskt inga oönskade klasser längre. I det här inlägget visar vi dig hur du kontrollerar vilka klasser och resurser som finns i en apk.

Obs: den här guiden är utformad för att dekompilera din egen apk, och inte det hårda arbetet hos andra utvecklare. Således inkluderade vi inte några steg för att omvända ingenjör eller arbeta runt kodförstöring.

>

förberedelse: installera verktygen

en Android apk är i grunden en zippad katalog, som innehåller några råa resurser (bilder, layoutfiler, ..) och enclasses.dex fil. Den här filen innehåller all faktisk kod och intresserar oss mest. Låt oss ladda ner alla verktyg vi behöver:

  • Du måste packa upp apk. Du kan använda antingen den inbyggda funktionaliteten i ditt operativsystem eller installera din favorit (un)arkiv som 7-Zip.
  • för att vända filen classes.dex till en .jar måste du ladda ner dex2jar-verktyget.
  • slutligen, för att göra filen .jar läsbar för det mänskliga ögat, ladda ner och kör JD-Gui.

få tillbaka din kod

Okej, nu är det dags att göra det faktiska arbetet. Kopiera din apk-fil till en katalog du vill arbeta i. Packa upp apk med det verktyg du väljer och du bör få en katalog med några underkataloger och några filer.

uppackad .apk

Känn dig fri att bläddra i katalogen AndroidManifest.xmleller res. Den mest intressanta delen är classes.dex. Byt därför till ditt nedladdade dex2jar verktyg och öppna en ny terminal.

om du använder Mac OS, kör sh d2j-dex2jar.sh -f -o output.jar your_app_input.apk. Windows-användare kan använda filen .bat för att skapa filen .jar. När verktyget har gått igenom, bläddra till den nya .jar – filen.

visa den dekompilerade koden

slutligen starta det nedladdade JD-GUI – verktyget och använd det för att öppna.jar – filen.

Dekompilerad Kodvy med JD-GUI

Du kan bläddra bland alla paket och klasser, som finns i din apk. Koden är en avskalad version och innehåller inga kommentarer eller överflödiga strukturer du ser i din IDE. Kom ihåg att detta är den sammanställda minimeringen av din app. Ändå bör det ge dig tillräckligt med information för att lära dig grunderna i appen. Det hjälpte oss till exempel att verifiera att det inte finns några paket relaterade till admob-biblioteket i appen längre.

andra alternativ

Om du bara behöver en snabb dekompilering kan du använda onlineverktyget på www.decompileandroid.com/.

För mer avancerade dekompileringsändamål kan du ta en titt på apktool, vilket ger många ytterligare hjälpare.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *