J'ai accidentellement effacé mon projet de 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?
Il existe deux outils utiles pour générer du code Java (brut mais suffisant) à partir d'un fichier APK inconnu.
Utilisez l'outil pour convertir le fichier APK en JAR :
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.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 à:
Tout d’abord, je recommande this
video, cela efface tous vos doutes
Si non s'il vous plaît passez par là
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 fichier .apk
en .Zip
(par exemple: renommez à partir de filename.apk en filename.Zip) et enregistrez-le.
Si vous rencontrez des problèmes lors de la conversion en .Zip, veuillez consulter link
Après avoir obtenu le fichier .Zip, vous obtenez maintenant les fichiers classes.dex, etc. À ce stade, vous êtes en mesure de voir les fichiers dessinés, mais pas les fichiers xml et Java, continuez alors ... .. Si vous ne voyez pas les extensions passer, vérifiez la configuration.
Step 2:
Maintenant, extrayez ce fichier apk Zip dans le même dossier. Téléchargez maintenant dex2jar à partir de cette link
et extrayez-le dans le même dossier. Ouvrez maintenant l'invite de commande et changez de répertoire dans ce dossier.
Puis écrivez dex2jar classes.dex
et appuyez sur entrée. Maintenant, vous obtenez le fichier classes.dex.dex2jar
dans le même dossier.
Puis téléchargez Java decompiler
Et maintenant, double-cliquez sur jd-gui et cliquez sur le fichier ouvert. Ensuite, ouvrez le fichier classes.dex.dex2jar
à partir de ce dossier. Maintenant, vous obtenez des fichiers de classe et enregistrez tous ces fichiers de classe (cliquez sur fichier, puis cliquez sur "Enregistrer toutes les sources" dans jd-gui) par nom de src. Extrayez ce fichier ZIP (classes_dex2jar.src.Zip)
et vous obtiendrez tous les fichiers Java de l’application.
A ce stade, vous avez le code source Java mais les fichiers XML sont toujours illisibles, continuez.
Step 3:
Maintenant, ouvrez un autre nouveau dossier et mettez ces fichiers
mettre le fichier .apk que vous voulez décoder
téléchargez Apktool pour windows v1.x
And Apktool
installer la fenêtre en utilisant google et mettre dans le même dossier
télécharger le fichier framework-res.apk à l'aide de Google et le placer dans le même dossier (tous les fichiers apk n'ont pas besoin du fichier framework-res.apk)
Ouvrir 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 donner Framework installed ...
.
Step 4:
Enfin, nous avons obtenu le res/
ainsi que le code Java du projet qui est notre cible au démarrage.
P.S.
Si vous ne parvenez pas à obtenir le dossier de res par les étapes ci-dessus, veuillez installer le nouveauapktool
- Java 1.7 est-il installé? Installer Apktool 2.x
- Java 1.6 ou supérieur est-il installé? Installer Apktool 1.x
Enjoy and happy coding
Pas de logiciel et pas trop d'étapes ..
Il suffit de télécharger votre APK et de récupérer 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 actifs du fichier.
note: je décompile mon fichier APK et récupère le 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 permanence, demande le blocage de popups
Mise à jour 2:
J'ai trouvé l'application de décompilation apk dans le Play Store,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Nous pouvons décompiler les fichiers apk sur notre téléphone Android. et aussi nous pouvons voir les fichiers Java et XML dans cette application
Mise à jour 3:
Nous pouvons utiliser une autre option Analyse APK de la version Android Studio 2.2
Construire -> Analyser APK -> Sélectionnez votre APK -> il donne des résultats
Il y a une nouvelle façon de faire cela.
Android Studio 2.2 a APK Analyzer il donnera beaucoup d'informations sur apk, cliquez ici: - http://Android-developers.blogspot.in/2016/05/Android-studio-22-preview-new-ui. html
Pas vraiment. Il existe un certain nombre de suites de désassembleur/décompilateur de DX telles que smali ou dex2jar qui généreront une sortie semi-lisible (dans le cas de dex2jar, vous pouvez obtenir du code Java en utilisant quelque chose comme JD-GUI mais le processus n’est pas parfait et il est très peu probable que vous puissiez recréer votre code source à 100%, mais cela pourrait vous donner un endroit pour commencer à reconstruire votre arborescence.
Oui, vous pouvez récupérer votre projet. Il suffit de renommer le fichier yourproject.apk
en yourproject.Zip
et vous obtiendrez tous les fichiers contenus dans ce fichier Zip. Nous modifions l'extension de fichier de .apk à .Zip. A partir de ce fichier Zip, extrayez le fichier classes.dex
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) sur DEX dans un fichier JAR. Il en existe 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 devrait être assez lisible, car dex2jar applique certaines optimisations.
Suivez les étapes ci-dessous pour le faire ou utilisez simplement apkToJava gem pour ce processus, il se charge même d’installer les outils nécessaires à son fonctionnement.
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. Les fichiers Java générés et la structure des dossiers sont stockés dans le dossier ShowJava
dans /sdcard
, à côté du fichier .jar
résultant de la conversion.
L'application est gratuite avec une bannière publicitaire au bas de la vue principale, mais il existe une option d'achat intégrée (3,99 $) pour la supprimer. L'achat intégré 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é à lui en aucune façon.
Vous trouverez ci-dessous certains des outils que vous pouvez utiliser pour effectuer du reverse engineering à partir d'un fichier APK en code source:
Si vous recherchez une alternative professionnelle, consultez JEB Decompiler de PNF Software.
Il existe une version de démonstration qui vous permettra de décompiler la plupart du code.