comment extraire le code du fichier apk

En fait, j’essaye d’extraire le code d’un fichier .apk appelé cloudfilz.apk et je voulais manipuler dans son code source. J’ai donc suivi les étapes ci-dessous: –

créer un nouveau dossier et mettre le fichier .apk (que vous voulez décoder) renommez maintenant ce fichier .apk avec l’extension fichiers .dex etc … à ce stade, vous êtes capable de voir des fichiers au format XML mais java … alors continuez …

étape 2:

Maintenant, extrayez ce fichier apk zip dans le même dossier (dans cet exemple ou dans le cas NEW FOLDER). 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 l’invite de commande et accédez à ce dossier (dans ce cas nouveau dossier) …. après avoir écrit écrire “dex2jar classes.dex” et appuyez sur Entrée ….. maintenant, vous obtenez le fichier classes.dex.dex2jar dans le même dossier ……

=> Question: -J’ai réussi à atteindre l’étape 1, mais à l’étape 2 lorsque j’exécute dex2jar classes.dex, j’obtiens une erreur à l’invite de commande java.lang.UnsupportedClassVersionError , je sais que .dex numéro de version jdk si coincé ici et dnt avoir la sortie …

Remarque: Toutes les instructions suivantes s’appliquent universellement (alias tous les systèmes d’exploitation), sauf indication contraire.


Prérequirejs

Tu auras besoin de:

  • Une installation Java fonctionnelle
  • Un terminal de travail / invite de commande
  • Un ordinateur
  • Un fichier APK

Pas

Etape 1: Modification de l’extension du fichier APK

  1. Modifiez l’extension de fichier du fichier .apk en ajoutant une extension .zip au nom du fichier ou en modifiant .apk en .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 Ajouter si vous utilisez macOS:

macOS add extension dialogue de confirmation

Étape 2: Extraction de fichiers Java à partir de l’APK

  1. Extrayez le fichier APK renommé dans un dossier spécifique. Par exemple, laissez ce dossier être demofolder .

    • Si cela n’a pas fonctionné, essayez d’ouvrir le fichier dans une autre application telle que WinZip ou 7-Zip.

    • Pour macOS, vous pouvez essayer d’exécuter unzip dans Terminal (disponible sur /Applications/Terminal.app ), où il faut un ou plusieurs arguments: le fichier à décompresser + arguments optionnels. Voir l’ man unzip pour man unzip documentation et les arguments.

  2. Téléchargez dex2jar (voir toutes les versions sur GitHub) et extrayez ce fichier zip dans le même dossier que celui indiqué dans le point précédent.

  3. Ouvrez l’invite de commande (ou un terminal) et remplacez votre répertoire actuel par le dossier créé au point précédent et tapez la commande d2j-jar2dex.bat classes.dex et appuyez sur Entrée. Cela générera le fichier classes-dex2jar.jar dans le même dossier.

    • Utilisateurs de macOS / Linux: Remplacez d2j-jar2dex.bat par d2j-jar2dex.sh . En d’autres termes, exécutez d2j-jar2dex.sh classes.dex dans le terminal et appuyez sur Entrée.
  4. Téléchargez Java Decomstackr (voir toutes les versions sur Github) et extrayez-le et démarrez (aka double clic) l’exécutable / l’application.

  5. Depuis la fenêtre JD-GUI, faites glisser le fichier classes-dex2jar.jar généré et déposez-le, ou allez dans File > Open File... et recherchez le File > Open File... jar.

  6. Ensuite, dans le menu, allez dans File > Save All Sources (Windows: Ctrl + Alt + S , macOS: + + S ). Cela devrait ouvrir une boîte de dialog vous demandant où enregistrer un fichier zip nommé «classes-dex2jar.jar.src.zip» composé de tous les paquets et fichiers java (vous pouvez renommer le fichier zip à enregistrer).

  7. Extrayez ce fichier zip ( classes-dex2jar.jar.src.zip ) et vous devriez obtenir tous les fichiers java de l’application.

Étape 3: Obtenir des fichiers xml à partir de l’APK

  • Pour plus d’informations, consultez le site Web apktool pour obtenir des instructions d’installation, etc.
  • Les fenêtres:

    1. Téléchargez le script wrapper (facultatif) et le fichier jar apktool (requirejs) et placez-le dans le même dossier (par exemple, myxmlfolder ).
    2. Changez votre répertoire actuel dans le dossier myxmlfolder et renommez le fichier jar apktool.jar en apktool.jar .
    3. Placez le fichier .apk dans le même dossier (par exemple, myxmlfolder ).
    4. Ouvrez l’invite de commande (ou le terminal) et remplacez votre répertoire actuel par le dossier où apktool est stocké (dans ce cas, myxmlfolder ). Ensuite, tapez la commande apktool if framework-res.apk .

      Ce que nous faisons ici, c’est que nous installons un framework. Pour plus d’informations, consultez les documents .

    5. La commande ci-dessus devrait résulter en “Framework installé …”
    6. Dans l’invite de commandes, 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, consultez les documents .

      Cela devrait se traduire par un dossier filename.out cours de sortie, où filename est le nom d’origine du fichier apk sans l’extension de fichier .apk . Dans ce dossier sont tous les fichiers XML tels que la mise en page, les tirables, etc.

Source: Comment obtenir le code source à partir du fichier APK – Comptech Blogspot

Tout fichier .apk du marché ou non signé

  1. Si vous êtes apk est téléchargé à partir du marché et donc signé Install Astro File Manager 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 lecteur USB et accédez au dossier ‘backupsapps’ pour trouver l’apk de l’application cible (appelez-la app.apk). Copiez-le sur votre disque local, comme dans le cas des fichiers .apk non signés.

  2. Téléchargez Dex2Jar zip depuis ce lien: SourceForge

  3. Décompressez le fichier zip téléchargé.

  4. Ouvrez l’invite de commande et écrivez la commande suivante lorsque vous atteignez le répertoire où se trouve dex2jar exe et copiez également l’apk dans le même répertoire.

    dex2jar targetapp.apk file (./dex2jar app.apk sur le terminal)

  5. http://jd.benow.ca/ télécharger le décompilateur à partir de ce lien.

  6. Ouvrez ‘targetapp.apk.dex2jar.jar’ avec le fichier jd-gui Fichier> Enregistrer toutes les sources pour enregistrer les fichiers de classe dans les fichiers jar java.

étape 1:

entrer la description de l'image ici Téléchargez dex2jar ici . Créez un projet java et collez les fichiers jar (dex2jar-0.0.7.11-SNAPSHOT / lib).

Copier le fichier apk dans le projet Java

Exécutez-le et après avoir actualisé le projet, vous obtenez le fichier jar. À l’aide du décompilateur Java, vous pouvez voir tous les fichiers de classe java

étape 2: Téléchargez le décompilateur Java ici

Cliquez ici, c’est un bon tutoriel pour les deux fenêtres / ubuntu.

  1. apktool1.5.1.jar télécharger ici .

  2. apktool-install-linux-r05-ibot télécharger ici .

  3. dex2jar-0.0.9.15.zip télécharger ici .

  4. Télécharger jd-gui-0.3.3.linux.i686.tar.gz (java de-complier) ici .

  5. framework-res.apk (situé sur votre appareil Android / système / framework /)

Procédure:

  1. Renommez le fichier .apk et remplacez l’extension par .zip,

il deviendra .zip.

  1. Ensuite, extrayez .zip.

  2. Décompressez le fichier dex2jar-0.0.9.15.zip téléchargé, copiez le contenu et collez-le dans le dossier de décompression.

  3. Ouvrez le terminal et changez de 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).

  1. Maintenant, créez un nouveau dossier et copiez «classes.dex.dex2jar.jar» dans celui-ci.

  2. Décompressez “jd-gui-0.3.3.linux.i686.zip“ et ouvrez le “Java Decomstackr” en mode plein écran.

  3. Cliquez sur ouvrir le fichier et sélectionnez “classes.dex.dex2jar.jar” dans la fenêtre.

  4. “Java Decomstackr” et allez dans fichier> enregistrer et enregistrer la source dans un fichier .zip.

  5. Créez le dossier “source_code”.

  6. Extrayez le fichier .zip enregistré et copiez le contenu dans le dossier «source_code».

  7. Ce sera où nous gardons votre code source.

  8. Extraire apktool1.5.1.tar.bz2, vous obtenez apktool.jar

  9. Maintenant, décompressez “apktool-install-linux-r05-ibot.zip”

  10. Copiez «framework-res.apk», «.apk» et apktool.jar

  11. Collez-le dans le dossier de décompression «apktool-install-linux-r05-ibot» (ligne n ° 13).

  12. 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