J'ai accidentellement effacé mon projet d' Eclipse et il ne me reste que le fichier APK que j'ai transféré sur mon téléphone. Existe-t-il un moyen d'inverser le processus d'exportation d'une application vers le fichier .apk, afin que je puisse récupérer mon projet?
android
apk
decompiling
Marko Cakic
la source
la source
Réponses:
Il existe deux outils utiles qui généreront du code Java (approximatif mais assez bon) à partir d'un fichier APK inconnu.
Utilisez l'outil pour convertir le fichier APK en JAR :
Une fois le fichier JAR généré, utilisez JD-GUI pour ouvrir le fichier JAR. Vous verrez les fichiers Java.
La sortie sera similaire à:
la source
d2j-dex2jar
plutôt (v0.0.9.15).res
dossierres
dossier avec des fichiers xml illisiblesMac
si vous ne pouvez pas utiliser dex2jar:permission denied
faites ceci$sudo chmod +x d2j-dex2jar.sh
Tout d'abord, je recommande la
this
vidéo peut-elle effacer tous vos doutesSinon, veuillez le parcourir
Procedure for decoding .apk files, step-by-step method:
Step 1:
Créez un nouveau dossier et placez-y le fichier .apk (que vous souhaitez décoder). Maintenant, renommez l'extension de ce
.apk
fichier.zip
(par exemple: renommez de filename.apk en filename.zip) et enregistrez-la.En cas de problème lors de la conversion en .zip, veuillez vous référer
link
Après avoir obtenu .zip, vous obtenez maintenant des fichiers classes.dex, etc. À ce stade, vous pouvez voir les fichiers dessinables mais pas les fichiers xml et java, alors continuez. Si vous ne voyez pas les extensions passer par vérifier la configuration
Step 2:
Maintenant, extrayez ce fichier apk zip dans le même dossier. Téléchargez maintenant dex2jar à partir de ce
link
et extrayez-le dans le même dossier. Ouvrez maintenant l'invite de commande et modifiez le répertoire dans ce dossier.
Ensuite, écrivez
dex2jar classes.dex
et appuyez sur Entrée. Vous obtenez maintenant leclasses.dex.dex2jar
fichier dans le même dossier.Ensuite, téléchargez le décompilateur Java
Et maintenant, double-cliquez sur jd-gui et cliquez sur ouvrir le fichier. Ouvrez ensuite le
classes.dex.dex2jar
fichier à partir de ce dossier. Maintenant, vous obtenez des fichiers de classe et enregistrez tous ces fichiers de classe (cliquez sur le fichier puis cliquez sur "enregistrer toutes les sources" dans jd-gui) par nom src. Extrayez ce fichier zip(classes_dex2jar.src.zip)
et vous obtiendrez tous les fichiers java de l'application.À ce stade, vous obtenez une source java mais les fichiers xml sont toujours illisibles, alors continuez.
Step 3:
Maintenant, ouvrez un autre nouveau dossier et mettez ces fichiers
mettre le fichier .apk que vous souhaitez décoder
télécharger Apktool pour
windows v1.x
AndApktool
installer la fenêtre en utilisant google et mettre dans le même dossier
téléchargez le fichier framework-res.apk en utilisant google et placez-le dans le même dossier (tous les fichiers apk n'ont pas besoin du fichier framework-res.apk)
Ouvrez une fenêtre de commande
Accédez au répertoire racine de APKtool et tapez la commande suivante:
apktool if framework-res.apk.
La commande ci-dessus devrait se traduire par
Framework installed ...
.Step 4:
Enfin, nous avons obtenu leres/
code de projet ainsi que Java qui est notre objectif au démarrage.Enjoy and happy coding
la source
apktool.jar
n'est pas dans le même paquet, je l'ai obtenu d'un ancien paquet et l'ai collé dans le même répertoire queapktool
.Pas de logiciel et pas trop d'étapes ..
Téléchargez simplement votre APK et obtenez toutes vos ressources sur ce site.
https://www.apkdecompilers.com/
Ce site Web décompilera le code incorporé dans les fichiers APK et extraira tous les autres éléments du fichier.
Remarque: je décompile mon fichier APK et j'obtiens du code en une minute à partir de ce site Web
Mise à jour 1 :
J'ai trouvé un autre site de décompilation en ligne,
http://www.javadecompilers.com/apk/ - Ne fonctionne pas en continu demandant le blocage des popups
Mise à jour 2:
J'ai trouvé l'application apk decompiler dans le Play Store,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Nous pouvons décompiler les fichiers apk dans notre téléphone Android. et nous pouvons également voir les fichiers java et xml dans cette application
Mise à jour 3:
Nous pouvons utiliser une autre option Analyser la fonction APK de la version Android studio 2.2
Construire -> Analyser APK -> Sélectionnez votre APK -> cela donne des résultats
la source
Il existe une nouvelle façon de procéder.
Android Studio 2.2 a APK Analyzer, il vous donnera beaucoup d'informations sur apk, consultez-le ici: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
la source
Pas vraiment. Il existe un certain nombre de suites de désassembleurs / décompilateurs dex comme smali ou dex2jar qui généreront une sortie semi-lisible par l'homme (dans le cas de dex2jar, vous pouvez obtenir du code java en utilisant quelque chose comme JD-GUI mais le processus est pas parfait et il est très peu probable que vous puissiez recréer à 100% votre code source. Cependant, cela pourrait vous donner un endroit pour commencer à reconstruire votre arbre source.
la source
Oui, vous pouvez récupérer votre projet. Renommez simplement le
yourproject.apk
fichier enyourproject.zip
, et vous obtiendrez tous les fichiers à l'intérieur de ce fichier ZIP. Nous changeons l'extension de fichier de .apk en .zip. À partir de ce fichier ZIP, extrayez leclasses.dex
fichier et décompilez-le de la manière suivante.Tout d'abord, vous avez besoin d'un outil pour extraire toutes les classes (compilées) du DEX dans un JAR. Il y en a un appelé dex2jar , qui est fabriqué par un étudiant chinois.
Ensuite, vous pouvez utiliser JD-GUI pour décompiler les classes du JAR en code source. Le code source résultant doit être assez lisible, car dex2jar applique certaines optimisations.
la source
Pour la plate-forme Android, vous pouvez essayer ShowJava , disponible sur le Play Store.
Vous pouvez consulter le code généré via l'interface de l'application et la structure des fichiers et dossiers Java générés est stockée dans un
ShowJava
dossier dans/sdcard
, à côté du.jar
fichier résultant de la conversion.L'application est gratuite avec une bannière publicitaire en bas de la vue principale, mais il existe une option d'achat intégrée (3,99 $) pour la supprimer. L'achat dans l'application n'ajoute aucune fonctionnalité à côté de la suppression de la bannière publicitaire.
Divulgation: je ne suis pas le développeur de l'application ni je suis affilié avec lui en aucune façon.
la source
Suivez les étapes ci-dessous pour ce faire ou utilisez simplement apkToJava gem pour ce processus, il se charge même d'installer les outils nécessaires pour qu'il fonctionne.
la source
Si vous cherchez une alternative professionnelle, jetez un œil à JEB Decompiler de PNF Software.
Il existe une version de démonstration qui vous permettra de décompiler la plupart du code.
la source
Vous trouverez ci-dessous certains des outils que vous pouvez utiliser pour effectuer la rétro-ingénierie d'un fichier APK au code source:
la source
Essayez cet outil: https://decompile.io , il fonctionne sur iPhone / iPad / Mac
la source
Dans Android Studio 3.5, c'est tellement facile que vous pouvez le réaliser en une minute. ce qui suit est un processus par étapes.
1: Ouvrez Android Studio, appuyez sur le bouton de la fenêtre -> Tapez Android Studio -> cliquez sur l'icône pour ouvrir l'écran de démarrage du studio Android qui ressemblera à ceci.
2: Ici, vous pouvez voir une option "Profil ou débogage APK" cliquez dessus et sélectionnez votre fichier apk et appuyez sur ok.
3: Il ouvrira toutes vos classes manifestes et java en une minute selon la taille de l'apk.
C'est tout.
la source