1 votes

Je ne trouve pas de correspondance entre la permission "Android.permission.INTERNET" et les célèbres méthodes qui devraient l'utiliser.

J'essayais d'évaluer l'utilisation des permissions effectives d'un apk à l'aide de explorateur les fichiers de cartographie . Pendant l'évaluation, j'ai obtenu une utilisation efficace de la Android.permission.INTERNET permission égale à 0.

Cela semble assez bizarre étant donné que c'est peut-être le plus USED la permission de tous ( Document Android dit juste qu'un apk doit déclarer cette permission "afin d'effectuer une opération réseau"...)

Ce résultat bizarre dépend du fait que dans les fichiers de mappage d'axplorer, il n'y a pas de mappage des fameuses méthodes "internet using" ( java.net.HttpURLConnection , java.net.HttpsUrlConnection , java.net.Socket etc...) avec Android.permission.INTERNET permiso.

Je savais aussi que le projet axplorer remplaçait pscout alors j'ai jeté un coup d'oeil à la page de pscout. les fichiers de cartographie non plus et j'ai trouvé que dans les fichiers de cartographie de pscout des versions Android de Jelly Bean a Froyo il y a effectivement SONT les correspondances de java.net.HttpURLConnection , java.net.Socket etc avec l'autorisation, mais pour les 4.11-5.11 Version Android, il n'y a pas de cartographie avec ces méthodes, et les fichiers de cartographie deviennent très similaires aux fichiers de cartographie axplorer des versions plus récentes d'Android.

Quelqu'un peut m'aider à trouver la raison pour laquelle je vois ce cas étrange dans les mappings de permissions ?

Je dois évaluer l'utilisation effective des permissions, mais une "utilisation zéro" de Android.permission.INTERNET doit vraiment être fausse... Quelqu'un peut m'aider avec ça ? Peut-être qu'il y a quelque chose de faux dans mon idée ?

1voto

pr0nin Points 353

El readme États :

Il manque actuellement aux cartes des API dont les autorisations sont vérifiées dans le code natif (Appareil photo, etc.). Nous espérons les fournir bientôt.

L'autorisation android.permission.INTERNET est une permission qui est principalement vérifiée au niveau du code natif. Vous ne trouverez donc pas beaucoup de références à ce sujet dans les fichiers de mappage de l'API.

Mise à jour : Les anciens fichiers de mappage qui incluaient des API pour la permission Internet étaient, autant que je sache, générés en examinant manuellement le code source de l'AOSP pour vérifier les permissions. Au fil du temps, l'AOSP est devenu de plus en plus grand et la fréquence des versions a augmenté, donc cela représentait trop d'efforts pour fournir ces informations pour chaque version d'Android. Par conséquent, les personnes qui ont créé les fichiers de mappage se sont concentrées sur la partie Java qui est beaucoup plus petite et plus facile à vérifier.

0 votes

Merci, ça peut être un point... Comment avez-vous réussi à savoir android.permission.INTERNET est uniquement vérifié au niveau du code natif ?

0 votes

@Alessio Je l'ai lu il y a longtemps. En outre, vous pouvez également le dériver par la logique : Android, en tant que système Linux, permet d'ouvrir des connexions socket en utilisant les fonctions natives de Linux. Par conséquent, si vous voulez faire respecter la permission Internet, vous devez implémenter la vérification de la permission également au niveau natif. Une fois que vous avez fait cela, il n'y a plus besoin de contrôles supplémentaires au niveau de l'API Java.

0 votes

J'ai fait une vérification et il semble qu'il y ait des mappings pour l'interface utilisateur. android.permission.INTERNET permission dans axplorer mappingFiles... Mais ce ne sont PAS les méthodes de la "fameuse 'utilisation d'internet'" que j'ai mentionnée... Mais sur d'autres classes java et méthodes. La liste des classes/méthodes est la suivante :

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X