Er zijn twee handige tools die Java code zullen genereren (ruw maar goed genoeg) van een onbekend APK bestand.
Download dex2jar tool van dex2jar.
Gebruik de tool om het APK bestand te converteren naar JAR:
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
Zodra het JAR-bestand is gegenereerd, gebruikt u JD-GUI om het JAR-bestand te openen. U zult de Java-bestanden zien.
De uitvoer zal er ongeveer zo uitzien:
Niet echt. Er zijn een aantal dex disassembler/decompiler suites zoals smali, of dex2jar die semi-menselijk leesbare output zullen genereren (in het geval van dex2jar, kun je java code krijgen door iets als JD-GUI te gebruiken, maar het proces is niet perfect en het is zeer onwaarschijnlijk dat je'in staat zult zijn om je broncode 100% opnieuw te maken. Het zou je echter mogelijk een plaats kunnen geven om te beginnen met het heropbouwen van je source tree.
Ja, je kan je project terug krijgen. Hernoem gewoon het uwproject.apk
bestand naar uwproject.zip
, en je krijgt alle bestanden in dat ZIP bestand. We veranderen de bestandsextensie van .apk naar .zip. Pak uit dat ZIP bestand het classes.dex
bestand en decompileer het op de volgende manier.
Eerst heb je een tool nodig om alle (gecompileerde) classes in de DEX uit te pakken naar een JAR. Er is er een genaamd dex2jar, die gemaakt is door een Chinese student.
Vervolgens kun je JD-GUI gebruiken om de klassen in de JAR te decompileren naar broncode. De resulterende broncode zou vrij leesbaar moeten zijn, omdat dex2jar een aantal optimalisaties toepast.