121 votes

Comment visualiser le contenu d'un fichier APK Android ?

Existe-t-il un moyen d'extraire et de visualiser le contenu d'un fichier .apk ?

1 votes

Vérifiez Android-apktool .

1 votes

Apktool a été déplacé vers ibotpeaches.github.io/Apktool

142voto

DonGru Points 6677

En fait, le fichier apk est juste une archive zip, donc vous pouvez essayer de renommer le fichier en theappname.apk.zip et l'extraire avec n'importe quel utilitaire zip (par exemple, 7zip).

El androidmanifest.xml et les ressources seront extraites et pourront être visualisées alors que le code source n'est pas dans le paquet - seulement le fichier .dex compilé ("Dalvik Executable").

0 votes

Le fichier dalvik peut être converti en jar en utilisant l'utilitaire dex2jar et peut ensuite être ouvert par n'importe quel outil de décompilation java.

42voto

TienLuong Points 31

Il est livré avec Android Studio maintenant. Il suffit d'aller sur Construire/Analyser APK... puis sélectionnez votre APK :)

enter image description here

17voto

Jens Erat Points 12190

Alors que le dézippage révélera les ressources, l'option AndroidManifest.xml sera encodé. apktool peut - parmi beaucoup d'autres choses - également décoder ce fichier.

Pour décoder l'application App.apk dans le dossier App , courir

apktool decode App.apk App

apktool n'est pas inclus dans le SDK officiel d'Android, mais disponible en utilisant la plupart des dépôts de paquets.

0 votes

Vous devez ajouter -o à la commande, sinon, il pense App est un fichier d'entrée, rapportant l'erreur : "Le fichier d'entrée (App) n'a pas été trouvé ou n'était pas lisible". Commande correcte : apktool decode App.apk -o App .

11voto

Shachar Shemesh Points 561

Il existe également zzos . (Divulgation complète : je l'ai écrit). Il ne décompile que les ressources réelles, pas la partie dex ( baksmali que je n'ai pas écrit, fait un excellent travail sur ce point).

Zzos est beaucoup moins connu qu'apktool, mais il y a certains APKs qui sont mieux gérés par lui (et vice versa - plus sur cela plus tard). Principalement, les APKs contenant des types de ressources personnalisées (pas de modificateurs) n'étaient pas gérés par apktool la dernière fois que j'ai vérifié, et sont gérés par zzos. Il y a aussi quelques cas d'échappement que zzos gère mieux.

Du côté négatif, zzos (version actuelle) nécessite quelques outils de support pour être installé. Il est écrit en perl (contrairement à APKTool, qui est écrit en Java), et utilise aapt pour la décompilation réelle. Il ne décompile pas encore les ressources attribuées (ce que fait APKTool).

La signification du nom est "aapt", le compilateur de ressources d'Android, décalé d'une lettre vers le bas.

8voto

skan Points 690

Vous disposez de plusieurs outils :

  • Aapt (qui fait partie du SDK Android)

    $ aapt dump badging MyApk.apk
    $ aapt dump permissions MyApk.apk
    $ aapt dump xmltree MyApk.apk
  • Apktool

    $ java -jar apktool.jar -q decode -f MyApk.apk -o myOutputDir
  • Multitool Android

  • Visualisateur d'Apk

  • ApkShellext

  • Dex2Jar

    $ dex2jar/d2j-dex2jar.sh -f MyApk.apk -o myOutputDir/MyApk.jar
  • NinjaDroid

    $ ninjadroid MyApk.apk
    $ ninjadroid MyApk.apk --all --extract myOutputDir/
  • AXMLParser

    $ apkinfo MyApk.apk

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X