En fait, j'essaie d'extraire le code d'un fichier .apk appelé cloudfilz.apk et je voulais manipuler son code source afin de suivre les étapes indiquées ci-dessous: -
créez un nouveau dossier et mettez le fichier .apk (que vous voulez décoder) maintenant renommez ce fichier .apk avec l’extension .Zip (par exemple: renommez de nom de fichier.apk en nom de fichier.apk.Zip) et enregistrez-le .. maintenant vous obtenez des classes fichiers .dex, etc ... à ce stade, vous êtes en mesure de voir les fichiers dessinables mais pas XML et Java ... alors continuez ...
étape 2:
maintenant, extrayez ce fichier apk Zip dans le même dossier (dans cet exemple ou dans le cas d'un nouveau dossier). maintenant dowmload dex2jar à partir de ce lien http://code.google.com/p/dex2jar/ et extrayez-le dans le même dossier (dans ce cas, NEW FOLDER) ..... Ouvrez maintenant la commande Invite et accédez à ce dossier (dans ce cas, NEW FOLDER) .... après avoir atteint l'écriture "dex2jar classes.dex" et appuyez sur Entrée ..... vous obtenez maintenant le fichier classes.dex.dex2jar dans le même dossier .... ..
=> Question: -J'ai réussi à atteindre l'étape 1 mais lors de l'étape 2 lorsque j'exécute dex2jar classes.dex, j'obtiens une erreur dans la commande Prompt Java.lang.UnsupportedClassVersionError
, Je sais que ceci est dû à une incompatibilité entre la version de jdk que j'ai installée et le numéro de version de classes.dex jdk, donc coincé ici et que dnt n'a pas de sortie ...
Tout fichier .apk du marché ou non signé
Si vous apk est téléchargé à partir du marché et donc signé Installez Astro File Manager à partir du marché. Ouvrez Astro> Outils> Gestionnaire d’applications/Sauvegarde et sélectionnez l’application à sauvegarder sur la carte SD. Montez le téléphone en tant que clé USB et accédez au dossier 'backupsapps' pour trouver l'apk de l'application cible (appelons-le app.apk). Copiez-le sur votre disque local même s'il s'agit d'un fichier .apk non signé.
Téléchargez Dex2Jar Zip à partir de ce lien: SourceForge
Décompressez le fichier Zip téléchargé.
Ouvrez la commande Invitez et écrivez la commande suivante en accédant au répertoire où se trouve le fichier exe dex2jar et copiez également l'apk dans le même répertoire.
dex2jar targetapp.apk file
((./ dex2jar app.apk sur le terminal)
http://jd.benow.ca/ téléchargez le décompilateur à partir de ce lien.
Ouvrez "targetapp.apk.dex2jar.jar" avec le fichier jd-gui> Enregistrer toutes les sources pour enregistrer les fichiers de classe du fichier jar dans Java.
Remarque: sauf indication contraire, toutes les instructions suivantes s'appliquent universellement (c'est-à-dire à tous les systèmes d'exploitation).
Tu auras besoin de:
Modifiez l'extension du fichier .apk
En ajoutant une extension .Zip
Au nom du fichier ou en remplaçant .apk
Par .Zip
.
Par exemple, com.example.apk
Devient com.example.Zip
Ou com.example.apk.Zip
. Notez que sous Windows et macOS, il peut vous demander si vous êtes sûr de vouloir modifier l’extension du fichier. Cliquez sur OK ou Add si vous utilisez macOS:
Extrayez le fichier APK renommé dans un dossier spécifique. Par exemple, supposons que ce dossier soit demofolder
.
Si cela ne fonctionne pas, essayez d'ouvrir le fichier dans une autre application telle que WinZip ou 7-Zip.
Pour macOS, vous pouvez essayer de lancer unzip
dans Terminal (disponible à /Applications/Terminal.app
), Où il faut un ou plusieurs arguments: le fichier à décompresser + arguments facultatifs. Voir man unzip
Pour la documentation et les arguments.
Téléchargez dex2jar
(voir toutes les versions sur GitHub) et extrayez ce fichier Zip dans le même dossier que celui indiqué au point précédent.
Ouvrez l'invite de commande (ou un terminal) et changez votre répertoire actuel pour le dossier créé au point précédent, tapez la commande d2j-dex2jar.bat classes.dex
Et appuyez sur entrée. Cela générera un fichier classes-dex2jar.jar
Dans le même dossier.
d2j-dex2jar.bat
par d2j-dex2jar.sh
. En d'autres termes, exécutez d2j-jar2dex.sh classes.dex
Dans le terminal et appuyez sur Entrée.Téléchargez Java Decompiler(voir toutes les versions sur Github) et extrayez-le et démarrez (c'est-à-dire double-cliquez) sur l'exécutable/l'application.
A partir de la fenêtre de JD-GUI, faites glisser le fichier classes-dex2jar.jar
Généré dans celui-ci ou accédez à File > Open File...
Et recherchez le fichier jar.
Ensuite, dans le menu, allez à File > Save All Sources
(Windows: Ctrl+Alt+S, macOS: ⌘+⌥+S) Cela devrait ouvrir une boîte de dialogue vous demandant où enregistrer un fichier Zip nommé `classes-dex2jar.jar.src.Zip" et contenant tous les packages et Java. (Vous pouvez renommer le fichier Zip en être sauvé)
Extrayez ce fichier Zip (classes-dex2jar.jar.src.Zip
) Et vous devriez obtenir tous les fichiers Java de l’application.
xml
à partir de APKapktool
site Web pour obtenir des instructions d'installation et plus encore.Les fenêtres:
myxmlfolder
).myxmlfolder
et renommez le fichier jar apktool en apktool.jar
..apk
Dans le même dossier (i.e myxmlfolder
).Ouvrez la commande Invite (ou terminal) et remplacez votre répertoire actuel par le dossier où est stocké apktool
(dans ce cas, myxmlfolder
). Ensuite, tapez la commande apktool if framework-res.apk
.
Ce que nous faisons ici, c'est que nous installons un cadre. Pour plus d'informations, voir le docs .
Dans l'invite de commande, tapez la commande apktool d filename.apk
(Où filename
est le nom du fichier apk). Cela devrait décoder le fichier. Pour plus d'informations, voir le docs .
Cela devrait entraîner la sortie d'un dossier filename.out
, Où filename
est le nom d'origine du fichier apk sans l'extension de fichier .apk
. Dans ce dossier se trouvent tous les fichiers XML tels que la mise en page, les éléments dessinables, etc.
Source: Comment obtenir le code source d'un fichier APK - Comptech Blogspot
étape 1:
Téléchargez dex2jar ici . Créez un projet Java et collez (dex2jar-0.0.7.11-SNAPSHOT/lib)].
Copier le fichier apk dans Java project
Exécutez-le et, après avoir actualisé le projet, vous obtenez le fichier jar .Utilisation Java, vous pouvez afficher tous les Java
étape 2: Télécharger Java decompiler ici
Cliquez ici c'est un bon tutoriel pour les deux fenêtres/Ubuntu.
apktool1.5.1.jar télécharger depuis ici .
apktool-install-linux-r05-ibot télécharger à partir de ici .
dex2jar-0.0.9.15.Zip télécharger à partir de ici .
jd-gui-0.3.3.linux.i686.tar.gz (correcteur Java) télécharger à partir de ici .
framework-res.apk (situé sur votre Android périphérique/système/framework /)
Procédure:
il deviendra .Zip.
Puis extraire .Zip.
Décompressez le fichier téléchargé dex2jar-0.0.9.15.Zip, copiez le contenu et collez-le dans le dossier de décompression.
Ouvrez le terminal et changez le répertoire pour décompresser “dex2jar-0.0.9.15“
- cd - sh dex2jar.sh classes.dex (le résultat de cette commande “classes.dex.dex2jar.jar” sera dans votre dossier extrait lui-même) .
Maintenant, créez un nouveau dossier et copiez-y “classes.dex.dex2jar.jar”.
Décompressez "jd-gui-0.3.3.linux.i686.Zip" et ouvrez le "Décompilateur Java" en mode plein écran.
Cliquez sur ouvrir le fichier et sélectionnez "classes.dex.dex2jar.jar" dans la fenêtre.
“Java Decompiler” et allez dans fichier> enregistrer et sauvegarder le source dans un fichier .Zip.
Créez un dossier “source_code”.
Extrayez le fichier .Zip enregistré et copiez le contenu dans le dossier "source_code".
Ce sera où nous garderons votre code source.
Extrait apktool1.5.1.tar.bz2, vous obtenez apktool.jar
Maintenant, décompressez “apktool-install-linux-r05-ibot.Zip”
Copiez “framework-res.apk”, “.apk” et apktool.jar
Collez-le dans le dossier "apktool-install-linux-r05-ibot" décompressé (ligne n ° 13).
Puis ouvrez le terminal et tapez:
- cd
- chown -R: 'apktool.jar'
- chown -R: 'apktool'
- chown -R: 'aapt'
- Sudo chmod + x 'apktool.jar'
- Sudo chmod + x ‘apktool’
- Sudo chmod + x 'aapt'
- Sudo mv apktool.jar/usr/local/bin
- Sudo mv apktool/usr/local/bin
- Sudo mv aapt/usr/local/bin
- apktool si framework-res.apk - apktool d .apk