2015-09-30 2 views
0

J'ai attrapé un problème étrange à propos de la décomplie Android.
Pour la recherche, je decomplie un Android APK par apktool et dex2jar, tout semble ok, mais quand je l'utilise JD-GUI pour ouvrir le fichier .jar decomplied, je ne peux trouver aucune activité Android classe déposer dans le fichier, l'intéressé était j'ai vu le AndroidManifest.xml fichier qui a écrit un chemin d'activité en elle, et je promets que je ne peux pas trouvé ce fichier de classes à partir de ce chemin, quel est le problème? et comment le faire? J'ai trouvé que non seulement le fichier de classe d'activité n'existe pas, mais aussi un fichier de classe de widget personnalisé aussi, j'ai vu une mise en page xml a utilisé un widget personnalisé, mais ne peut pas trouver le fichier réel. est-il vraiment en quelque sorte peut cacher le fichier de classe empêcher les autres de décompiler?Android décomplie des problèmes étranges

enter image description here enter image description here

+0

S'il peut être exécuté, il peut être décompilé. –

+0

bien sûr, il peut être installé et exécuté, mais après décompilé, aucun fichier de classe ne peut être trouvé, quel que soit l'outil JD-GUI pour lire .jar, ou utiliser apktool décompilé et rechercher le fichier smali, tous manquants. –

Répondre

0

le fichier Désassemblage .dex contient uniquement le code source Java. Ce fichier est généralement classes.dex, mais pour les applications multi dex peuvent exister n'importe où dans le classes#.dex# est un certain nombre >= 1. Vous ne trouverez pas AndroidManifest.xml et divers fichiers de disposition dans le fichier .dex Ceux-ci sont situés ailleurs (resources.arsc, AndroidManifest.xml et res/) et seulement décodés sous une forme lisible par l'homme avec quelque chose comme apktool.

De plus, vous ne pouvez rien cacher. Si l'application fonctionne sur Android, il y a de fortes chances qu'elle puisse être décodée. L'obscurcissement peut aider, mais n'empêche pas la visualisation de la source.