Décompiler.fichiers smali sur un APK [dupliquer]

cette question a déjà une réponse ici:

  • y a-t-il un moyen d'obtenir le code source à partir d'un fichier APK? 16 réponses

j'ai téléchargé APK Manager qui me permet de déballer des fichiers APK.

mais il ne le déballe et ne se décompose pas le. smali fichier .Java.

Est-il possible de décompiler le .smali .java?

111
demandé sur Smi 2011-04-07 18:36:24

6 réponses

Non, APK Manager décompilation le .dex fichier .smali et binaire .xml xml lisible par l'homme.

la séquence (basée sur APK Manager 4.9) est 22 pour sélectionner le paquet, puis 9 pour le décompiler. Si vous appuyez sur 1 au lieu de 9, alors vous allez juste le déballer (utile seulement si vous voulez échanger .les images png).

Il n'y a pas d'outil pour décompiler retour aux fichiers .java et très probablement il ne sera pas tout. Il existe une alternative, qui utilise dex2jar pour transformer le fichier dex en un fichier .class , puis utiliser un jar decompiler (tel que le libre JD-gui ) en Java de texte. Le processus est loin d'être optimal, cependant, et il ne générera pas de code de travail, mais il est assez décent pour être en mesure de le lire.

dex2jar: https://github.com/pxb1988/dex2jar

jd-gui: http://jd.benow.ca /

Edit: je savais qu'il y avait quelque part ici dans une question très similaire réponses... décompilation DEX en Java code source

93
répondu Aleadam 2018-09-18 12:41:22

dex2jar aide à décompiler votre apk, mais pas à 100%. Vous avez quelques problèmes avec .dossiers smali. Dex2jar ne peut pas le convertir en java. Je connais une application qui peut décompiler vos fichiers source apk et aucun problème avec .dossiers smali. Voici un lien http://www.hensence.com/en/smali2java/

25
répondu Daryn 2014-01-29 10:14:14

il y a une nouvelle plateforme croisée (java) et un outil open source, qui vous permettent de le faire, il suffit de vérifier https://bytecodeviewer.com

enter image description here

=========

EDIT: Depuis avril 2017, il y a un nouvel outil open source développé par google, qui est destiné à faire exactement ce que nous avons cherché = > http://classyshark.com

25
répondu Gomino 2017-04-05 13:30:20

Ma recommandation est Vertueux de Dix Studio . L'outil est gratuit, mais ils suggèrent un don. Il combine toutes les étapes nécessaires (déballage APK, baksmaliing, décompilage, etc.) en un processus D'importation basé sur L'interface utilisateur facile à utiliser. Dans un délai de cinq minutes, vous devriez avoir du code source Java, moins qu'il n'en faut pour comprendre les options de ligne de commande de l'un des outils mentionnés ci-dessus.

Décompilation smali à Java est un inexacte, surtout si les artefacts de smali ont traversé un brouillon. Vous pouvez trouver plusieurs décompilation sur le web, mais seulement certains d'entre eux sont encore maintenues. Certains vous donneront un meilleur code décomposé que d'autres. Lire "mieux", comme dans "plus compréhensible" que d'autres. Ne vous attendez pas à ce que le code Java modifié se compile hors de la boîte. Virtuous Ten Studio est livré avec plusieurs décompileurs Java libres intégrés de sorte que vous pouvez facilement essayer différents décompileurs (L'étape "générer Java source") pour voir lequel vous donne les meilleurs résultats, vous économisant le temps de trouver vous-même ces décomposeurs et de comprendre comment les utiliser. Parmi eux, CFR, qui est l'un des rares décomposeurs libres et encore maintenus.

comme sortie, vous recevez, entre autres choses, une structure de dossier qui contient tout le code source Java décompilé. Vous pouvez ensuite l'importer dans IntelliJ IDEA ou Eclipse pour l'édition, l'analyse (par exemple, aller dans la définition, trouver des utilisations), etc.

4
répondu Christoph 2015-08-21 19:09:28

je suis d'accord.

Dex2jar va générer un bocal de travail, que vous pouvez ajouter comme source de votre projet, avec le xmls que vous avez obtenu d'apktool.

cependant, jdgui génère .les fichiers java qui ont, le plus souvent, des erreurs.

ça a quelque chose à voir avec l'obscurcissement du code, je suppose.

1
répondu Avijit 2013-04-02 10:17:16

pour obtenir la vue pratique de la conversion .apk fichier .les fichiers java juste vérifier https://www.youtube.com/watch?v=-AX4NYE-9V8 video . vous obtiendrez plus d'bénéficié et comprendre clairement. Il montre clairement les étapes nécessaires si vous utilisez mac OS .

l'exigence de base pour obtenir ce fait. 1. http://code.google.com/p/dex2jar/

2. http://jd.benow.ca /

0
répondu Param 2015-02-02 07:41:38