Reverse engineering d'un fichier APK à un projet

j'ai accidentellement effacé mon projet de Eclipse , et tout ce qui me reste est le fichier APK que j'ai transféré sur mon téléphone. Est-il un moyen d'inverser le processus de l'exportation d'une application à l' .le dossier apk, pour que je puisse récupérer mon projet?

184
demandé sur Vadim Kotov 2012-10-04 21:50:22

10 réponses

il y a deux outils utiles qui vont générer du code Java (approximatif mais suffisant) à partir d'un fichier APK inconnu.

  1. télécharger l'outil dex2jar de dex2jar .
  2. utilisez l'outil pour convertir le fichier APK en JAR :

    $ d2j-dex2jar.bat demo.apk
    dex2jar demo.apk -> ./demo-dex2jar.jar
    
  3. une fois que le fichier JAR est généré, utilisez JD-GUI pour ouvrir le fichier JAR. Vous va voir les fichiers Java.

la sortie sera similaire à:

JD GUI

241
répondu rahul 2018-02-13 14:06:33

tout D'abord je vous recommande this vidéo mai ceci est efface tous vos doutes

Si non, merci de passer par là

Procedure for decoding .apk files, step-by-step method:

Step 1:

faire un nouveau dossier et mettre .apk fichier (que vous voulez décoder). Renommer maintenant l'extension de ce fichier .apk en .zip (eg.: changement de nom de nom de fichier.apk à nom de fichier.apk.zip) et de l'enregistrer.

si des problèmes dans la conversion en .s'il vous plaît se référer link

après avoir obtenu .zip maintenant tu as des cours.dex fichiers, etc. À ce stade, vous êtes en mesure de voir dessiner, mais pas les fichiers xml et java, donc continuer. Si vous ne voyez pas les extensions passer par vérifier la configuration

Step 2:

extrait maintenant ce fichier apk zip dans le même dossier. Maintenant, téléchargez dex2jar à partir de ce link

et l'extraire dans le même dossier. Maintenant, ouvrez l'invite de commande et changez le répertoire dans ce dossier.

alors écrivez dex2jar classes.dex et appuyez sur Entrée. Vous obtenez maintenant le fichier classes.dex.dex2jar dans le même dossier.

puis télécharger Java decompiler

Et maintenant, double-cliquez sur jd-gui et cliquez sur ouvrir-fichier. Puis 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 le nom src. Extraire le fichier zip (classes_dex2jar.src.zip) et vous obtiendrez tous les fichiers java de l'application.

à ce stade, vous obtenez java source, mais les fichiers xml sont toujours illisibles, alors continuez.

Step 3:

ouvrir maintenant un autre nouveau dossier et mettre ces fichiers""

  1. mettre .fichier apk que vous souhaitez décoder

  2. télécharger Apktool pour windows v1.x et Apktool

installer fenêtre en utilisant google et mettre dans le même dossier

  1. download framework-res.fichier apk en utilisant google et mis dans le même dossier (Tous les fichiers apk n'ont pas besoin de framework-res.apk file)

  2. ouvrir une fenêtre de commande

  3. naviguez vers le répertoire racine D'APKtool et tapez la commande suivante: apktool if framework-res.apk.

au-dessus de la commande Framework installed ... .

  1. apktool d "appName".apk ("appName" indique l'application que vous voulez décoder) maintenant vous obtenez un dossier de fichier dans ce dossier et maintenant vous pouvez facilement lire des fichiers xml aussi.

Step 4: Finalement nous avons eu le res/ ainsi que le code java du projet qui est notre cible au départ.

P.S. Si vous n'êtes pas en mesure d'obtenir le dossier res par les étapes ci-dessus s'il Vous Plaît faire installer Nouveau apktool

  • Java 1.7 est-il installé? Installez Apktool 2.x
  • Java 1.6 ou supérieur est-il installé? Installez Apktool 1.x

Enjoy and happy coding

69
répondu Swapnil Sonar 2016-08-06 06:43:28

Pas de logiciel, Pas trop d'étapes..

il suffit de télécharger votre APK et d'obtenir toutes les ressources de ce site..

https://www.apkdecompilers.com /

ce site web décompose le code intégré dans les fichiers APK et extrait tous les autres actifs dans le fichier.

note: je décompose mon fichier APK & obtenir le code en un miniute à partir de ce site web

"1519110920 mise à jour" Update 1 :

j'ai trouvé un autre site de decompiler en ligne,

http://www.javadecompilers.com/apk / - ne fonctionne pas en continu demande de blocage des popup

mise à jour 2:

j'ai trouvé apk decompiler app dans play store,

https://play.google.com/store/apps/details?id=com.njlabs.showjava

nous pouvons décompiler les fichiers apk de notre téléphone android. et aussi nous pouvons voir les fichiers java & xml dans cette application

mise à Jour 3:

nous pouvons utiliser une autre option analyser APK fonctionnalité de Android studio 2.2 version

Build -> Analyser APK -> Sélectionnez votre APK -> il donne des résultats

enter image description here

45
répondu Ranjith Kumar 2017-10-11 06:10:27

pas vraiment. Il existe un certain nombre de suites désassembleur/décompiler dex là-bas tel que smali , ou dex2jar qui générera une sortie semi-lisible par l'homme (dans le cas de dex2jar, vous pouvez obtenir du code java grâce à l'utilisation de quelque chose comme JD-GUI mais le processus n'est pas parfait et il est très peu probable que vous serez en mesure de recréer 100% votre code source. Toutefois, il pourrait potentiellement vous donner un endroit pour commencer reconstruire votre arbre généalogique.

4
répondu Chris Thompson 2012-10-04 17:54:38

Il y a une nouvelle façon de le faire.

Android Studio 2.2 A Analyseur APK il va donner beaucoup d'informations sur apk, vérifier ici: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html

Ap

4
répondu Brijesh Masrani 2016-06-14 06:38:38

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 à l'intérieur de ce fichier ZIP. Nous sont en train de changer l'extension du fichier de .apk .zip. À partir de ce fichier ZIP, extraire le fichier classes.dex et le décompiler en suivant la méthode.

tout d'abord, vous avez besoin d'un outil pour extraire toutes les classes (compilées) sur la DEX à un pot. Il y en a un appelé dex2jar , qui est fait par un étudiant chinois.

ensuite, vous pouvez utiliser JD-GUI pour décomposer les classes dans le JAR en code source. Le code source résultant devrait être assez lisible, puisque dex2jar applique certaines optimisations.

3
répondu Star 2013-02-18 20:43:21

suivre les étapes ci-dessous pour le faire ou tout simplement utiliser apktojava gem pour ce processus, il prend même soin d'installer les outils nécessaires pour qu'il fonctionne.

  • convertir fichier apk zip
  • décompresser le fichier
  • classes d'extrait.dex
  • utilisez dex to jar pour convertir les classes.dex en fichier jar
  • utilisez jadx gui pour ouvrir le fichier jar comme source java code
2
répondu Ajit Singh 2016-01-31 06:24:38

pour la plate-forme Android, vous pouvez essayer ShowJava , disponible sur le Play Store.

vous pouvez consulter le code généré par le biais de l'interface app et 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 ya un achat In-app option (3,99$) pour la supprimer. In-app purchase n'ajoute aucune fonctionnalité en dehors 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 de toute façon.

1
répondu Stephane Piriou 2018-04-24 11:12:42

si vous êtes à la recherche d'une alternative professionnelle, jetez un oeil à Jeb Decompiler de PNF Software.

il y a une version de démonstration qui vous permettra de décompiler la plupart du code.

0
répondu Nick 2017-05-06 16:25:35

ci-dessous sont quelques-uns des outils que vous pouvez utiliser pour effectuer la rétroingénierie d'un fichier APK au code source:

  1. Dex2jar
  2. Java decompiler
  3. Apktool
  4. Analyseur Apk
0
répondu Mandeep Yadav 2017-07-20 09:28:12