decompileren onlangs hebben we een handleiding gepubliceerd over het toevoegen van afhankelijkheden voor alleen specifieke productFlavors. Nadat we de nodige stappen hebben geïmplementeerd, wilden we ervoor zorgen dat de finale .apk eigenlijk geen ongewenste klassen meer bevatten. In deze post, we zullen u laten zien hoe om te controleren welke klassen en middelen zijn in een apk.
Opmerking: Deze gids is ontworpen voor het decompileren van uw eigen apk, en niet het harde werk van andere ontwikkelaars. Dus, we hebben geen stappen opgenomen om reverse-engineer of work-around code verduistering.
voorbereiding: het installeren van de Tools
een Android apk is in feite een gecomprimeerde map, die enkele ruwe bronnen bevat (afbeeldingen, opmaakbestanden, ..) en een classes.dex
bestand. Dit bestand bevat alle actuele code en interesseert ons het meest. Laten we alle tools downloaden die we nodig hebben:
- je moet de apk uitpakken. U kunt gebruik maken van de ingebouwde functionaliteit van uw besturingssysteem, of installeer uw favoriete (un)archiver zoals 7-Zip.
- om het
classes.dex
bestand om te keren naar een.jar
, moet u de dex2jar tool downloaden. - ten slotte, om het
.jar
bestand leesbaar te maken voor het menselijk oog, download en voer JD-Gui uit.
uw Code terugkrijgen
goed, nu is het tijd om het eigenlijke werk te doen. Kopieer je apk-bestand naar een map waarin je wilt werken. Unzip de apk met behulp van de tool van uw keuze en je moet een directory met een paar sub directory ‘ s en een paar bestanden te krijgen.
blader vrij door deAndroidManifest.xml
of deres
map. Het meest interessante stuk is de classes.dex
. Schakel dus over naar het gedownloade dex2jar
gereedschap en open een nieuwe terminal.
Als u op Mac OS werkt, voert u sh d2j-dex2jar.sh -f -o output.jar your_app_input.apk
uit. Windows-gebruikers kunnen het .bat
bestand gebruiken om het .jar
bestand aan te maken. Blader naar het nieuwe .jar
bestand.
het bekijken van de gedecompileerde Code
start ten slotte het gedownloade JD-GUI
gereedschap en gebruik het om het .jar
bestand te openen.
kunt u bladeren door alle pakketten en klassen, die in uw apk. De code is een gestripte versie en bevat geen opmerkingen of redundante structuren die je ziet in je IDE. Vergeet niet, dit is de gecompileerde minimalisatie van uw app. Niettemin, het moet u genoeg informatie om te leren over de basisprincipes van de app te geven. Bijvoorbeeld, het hielp ons om te controleren of er geen pakketten met betrekking tot de admob bibliotheek in de app meer.
andere opties
Als u een snelle decompilatie nodig hebt, kunt u het online gereedschap gebruiken op www.decompileandroid.com/.
voor meer geavanceerde decompilatie doeleinden kun je een kijkje nemen op apktool, die veel extra helpers geeft.