In een ander topic heb ik aangegeven dat je d.m.v. apktool een .apk file kunt decoden of rebuilden. Maar wat houd dit nou precies in? Om daar achter te komen moet je eerst over een aantal dingen beschikken.
- apktool
- Een .apk bestand
- Java Runtime Environment
- Een editor: Notepad++, Dreamweaver, Eclipse (misschien, niet getest)
Stel je opent nu het .apk bestand met Winrar of 7zip. Nu zul je zien dat het eigenlijk gewoon een ingepakt bestand is. Wil je echter de AndroidManifest.xml inzien, dan krijg je allemaal vreemde tekens te zien. Dit geeft aan dat het bestand gecodeerd is (encryptie). Door middel van apktool kunnen we dit dus decoden waardoor we AndroidManifest.xml weer leesbaar kunnen maken.
Het eerste wat we gaan doen is apktool downloaden. Dit doe je door de simpele uitleg te volgen van Brut.alll (developer).
Zoals je ziet pak je het uit in de juiste map. Let wel op! Als je alles uitpakt dan heb je 3 bestanden: apktool, aapt en apktool.jar. Plaats die in de juiste map zoals hierboven aangegeven is.Installation for noobs:
Windows:
Download apktool-install-windows-* file
Download apktool-* file
Unpack both to your Windows directory
Linux:
Download apktool-install-linux-* file
Download apktool-* file
Unpack both to /usr/local/bin directory (you must have root permissions)
Mac OS X:
Download apktool-install-macos-* file
Download apktool-* file
Unpack both to /usr/local/bin directory (you must have root permissions)
Nu gaan we de Terminal/Command openen. Om te testen of apktool moet je het volgende invoeren:
<enter> geeft aan dat je op Enter moet drukken, niet erachter typen dus.Code:apktool <enter>
Als je een hele rij tekst krijgt met uitleg, dan werkt apktool. Krijg je een error zoals: het java bestand kan niet uitgevoerd.. (ergens in die richting), dan heb je JRE (Java Runtime Environment) niet geinstalleerd. Doe dit dan alsnog.
Nu wordt het tijd om ons .apk file te decoden. Bij voorkeur, zet de .apk file in een map die je snel kan bereiken: C:/Android/programma.apk (voorbeeld).
Nu gaan we met de command prompt navigeren naar de juiste map.
In mijn geval zit ik in de command prompt in de map C:/Users/Leander, ik zal dus 2 mappen terug moeten om in de map Android te komen.
Code:cd ../../ <enter>Nu zit je in de map Android waarin het .apk file zich bevind. Dit bestand gaan we decoden (en uitpakken) door het volgende command uit te voeren:Code:cd Android <enter>
Uitleg:Code:apktool d app.apk app
Met apktool roep je apktool aan (logisch).
d geeft aan dat je het bestand wilt decoden.
app.apk geeft het bestand aan, je zou er ook het hele path in kunnen zetten zoals: C:/Android/app.apk. Maar voor de duidelijkheid heb ik het even zo gedaan.
app is de naam van de map die aangemaakt wordt waar het bestand in uitgepakt wordt.
Als het goed is is er nu een map aangemaakt in C:/Android/, als je die opent krijg je net zoals in Winrar/7zip files te zien. Nu kun je met alle gemakt AndroidManifest.xml openen en dingen er in aanpassen.
Om de map weer te herbouwen tot .apk file moet je het volgende commando uitvoeren:
En voila, je hebt weer een mooie .apk file gemaakt met je bewerkingen.Code:apktool b app app.apk
LETOP: Waarschijnlijk moet je je app opnieuw signen. Lees hier: How-To: Apps signen hoe dat moet
Ik heb dit getest op een Windows 7 systeem, de rest gaat in principe (naast de installatie) hetzelfde.
Dat was het. Suggesties, verbeteringen of commentaar is altijd welkom![]()
Ik heb het topic hier geplaatst, omdat ik dit toch specifieker vond dan het Tips en Tricks, Howto gedeelteZoniet? Dan zijn er nog mods
Fouten en spelfouten voorbehouden.




2Likes
LinkBack URL
About LinkBacks





Met citaat reageren


