Quelle est la meilleure façon de modifier ou d’éditer les fichiers APK ?


Note : je ne fournirai aucun lien. Vous devriez être à l'aise de vous salir les mains par vous-même lorsque vous plongez dans la réalisation d'une telle tâche.

Je définis différents niveaux en fonction de la quantité de coups d'œil que vous pouvez prendre dans un APK.


Niveau 1 : Basique : Utilisé pour modifier les images changer les icônes et quelques autres trucs mineurs de mise en page.

Décompilation/Recompilation à l'aide du gestionnaire APK. À condition que vous n'ayez pas foiré, il est fort probable qu'un APK fonctionne même après avoir recompilé et apporté des modifications aux images/à la mise en page.

Niveau 2 : Éditer les bibliothèques APK aka décompiler le fichier classes.dex et apporter des modifications aux fichiers smali.

En utilisant smali/backsmali, vous décompilez le fichier classes.dex à l'intérieur d'un apk pour obtenir les fichiers de la bibliothèque smali que vous éditez pour modifier certaines fonctionnalités vraiment majeures de l'apk lui-même (vous pouvez appeler cela sans risque s'amuser avec le code source de l'apk et le modifier jusqu'à sa base). Cependant, si vous posez cette question, je doute que vous soyez capable de faire cette étape par vous-même (à moins qu'un tutoriel ne vous donne le code smali à la petite cuillère) car le langage smali est très proche de l'assembleur et est un morceau de code hautement obscurci. Cependant, si vous êtes intéressé, vous pouvez lire sur les Opcodes Dalvic si vous voulez commencer à le faire. C'est difficile.

Encore, à condition que vous n'ayez pas foiré le code source, vous pouvez recomiler les classes.dex en utilisant smali/backsmali et le remettre dans l'apk et cela devrait fonctionner.

Vous devriez pouvoir trouver classes.dex en ouvrant l'apk avec un quelconque archiveur comme winrar. Cependant, le décompilateur apk est recommandé (vous en aurez besoin si vous voulez apporter des modifications à classes.dex et le remettre dans l'apk).

Niveau 3 : Tenter de lire le code source de l'application au format java.

Maintenant, celui-ci est intéressant. Mais avant de commencer, je dois vous prévenir : Ceci est purement éducatif par nature, vous ne pouvez pas apporter des modifications à ce code java et recompiler l'application. Parce qu'il n'y a pas une telle chose qui peut obtenir un code java parfaitement fonctionnel à partir du code smali. Cependant, si vous voulez juste vérifier le code à la surface pour savoir comment l'app fonctionne, continuez à lire.

Get dex2jar. Comme dans l'étape précédente, obtenir classes.dex fichier à l'intérieur de l'apk et le convertir en jar avec dex2jar. Maintenant, il suffit d'utiliser n'importe quelle classe java vers un convertisseur java et vous devriez obtenir un code java partiellement exact. Devrait être assez bon pour des raisons éducatives, cependant puisque vous n'aurez pas de code java exact, la recompilation des classes.dex ne fonctionnera pas et l'application se plantera certainement. Il n'y a aucun moyen de contourner cela.

Maintenant, je doute fortement que vous puissiez plonger plus profondément dans un APK compilé que cela. Bonne chance!