APK Dateien dekompilieren

Manchmal ist es doch sehr praktisch eine APK Datei zu dekompilieren, z.B. um ein wenig Reverse Engineering zu betreiben. Nachdem wir die gewünschte APK auf der Festplatte haben laden wir uns dex2jar unter http://code.google.com/p/dex2jar herunter. Mit diesem Tool wandeln wir den Dalvik Intermediate Code in eine JAR (sprich Java) Datei um. Wir wenden dex2jar mittels

dex2jar.sh test.apk

auf unsere APK an. Heraus kommt eine JAR Datei welche wir mit der JD-GUI (zu finden unter http://java.decompiler.free.fr/?q=jdgui) öffnen und uns so anschauen können.

Weitere Informationen gibt es unter:
http://stackoverflow.com/questions/3122635/android-decompile-apk
http://stackoverflow.com/questions/1249973/decompiling-dex-into-java-sourcecode

5 Kommentare » Schreibe einen Kommentar

  1. Ist ein bisschen umständlich formuliert

    Hatte nich ganz gerafft was gemeint ist und will das anderen mal ersparen.
    Was er meint ist das ihr

    dex2jar.bat -dex2jar.sh MeineAndroidApp.apk

    Anwenden sollt, z.B. aus einer Verknüpfung heraus.
    Die Erklärung des Herstellers findet Ihr hier :
    http://code.google.com/p/dex2jar/wiki/UserGuide

  2. Die Dekompilate waren fehlerhaft und ergaben teils unsinnigen Code.
    Die verwendeten xml dateien waren komplett unlesbar geworden.

    Ich rate von dem Tool ab.

    • Man sollte nicht erwarten das etwas komplett sinnvolles heraus kommt. Mir ist auch schon aufgefallen, das das Tool manchmal Murks aus dem „Binärcode“ baut. Die Dinge welche ich herausfinden wollte, hatte es aber korrekt disassemblisiert. Man muss sich halt anschauen in wie weit es für jemanden sinnvoll ist. Das hängt denke ich von Fall zu Fall ab.

  3. Warum funktioniert das ganze nicht mit den Apk’s von Huawei Ascend Mate 7? Deodexen kann man diese auch nicht.

    Gruß Hen Ry

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.