La dernière mise à jour de Google Maps n'étant pas disponible dans mon pays, j'ai téléchargé une version par Google pour "Google Maps 5.4.0 apk". En fait, je l’ai trouvé, mais je me demande maintenant comment puis-je savoir s’il s’agit de la même version que sur le marché?
Comment puis-je être sûr qu'il n'a pas été altéré? Les applications sont-elles signées d'une manière ou d'une autre? Y a-t-il un moyen de vérifier les signatures?
m.google.com/maps
:, vous offre-t-elle un lien de téléchargement ou quelque chose de similaire?Réponses:
Pour contourner le débat sur la légitimité de l’installation de cette application sur votre téléphone, je voulais depuis un moment comprendre la question de la vérification, et vous m’avez incité à essayer de trouver un moyen de vérifier qui a signé. un apk.
Les applications Android sont signées à la manière habituelle des fichiers .jar (.apk n’est en fait qu’un fichier .jar spécial, qui n’est qu’un fichier .zip spécial.) Toutefois, il peut s'avérer utile de tracer l'authenticité des certificats à moins que vous ne connaissiez quelque chose d'intéressant. comparer aux. C’est essentiellement ce que le téléphone fait lui-même - vérifie que quelque chose qui prétend appartenir à la même personne que quelque chose qui est déjà au téléphone est réellement - le téléphone ne refuse pas d’installer des choses avec des signataires inconnus, il ne peut que (object to / clear application données de) falsifications apparentes quand quelque chose de nouveau ne correspond pas à quelque chose de vieux auquel il prétend.
Vous aurez besoin d'avoir jarsigner et keytool. Je crois que ceux-ci proviennent du JDK, qui est une condition préalable au SDK android plutôt qu'au SDK lui-même.
Tout d’abord, vous voulez essayer de vérifier la clé publique contenue dans le fichier .apk. C’est généralement dans META-INF / CERTS.RSA, mais cela peut être dans un autre fichier - unzip -l vous le dira. Vous voulez voir ce que vous pouvez trouver à ce sujet:
Cela va déverser beaucoup d'informations sur qui le signataire prétend être. Certains certificats sont apparemment eux-mêmes signés par des parties connues, mais je ne pense pas que vous puissiez faire quelque chose comme ceci:
Si vous avez un apk de confiance connu du même auteur qui a utilisé le même certificat. Je suppose que les certificats ayant la même somme MD5 sont suffisants.
En supposant que vous ayez décidé de faire confiance au certificat, vous pourrez voir s'il a été utilisé pour signer chacun des fichiers du fichier .apk.
(S'il y a plus d'un fichier .RSA dans l'archive, vous devez ajouter l'indicateur -certs pour vous indiquer quel (s) certificat (s) ont été utilisés pour signer chaque fichier, afin que vous puissiez être sûr que c'est le certificat que vous avez vérifié)
la source
Il existe (maintenant) un
apksigner
outilbuild-tools
qui fait ce que vous voulez. De la docs :la source
Vous pouvez également essayer de télécharger le fichier APK sur le logiciel gratuit de vérification des virus VirusTotal.com . Il générera un hachage unique pour l'APK et si d'autres personnes l'ont déjà téléchargé pour le tester (très probablement), vous aurez alors une meilleure idée du fait que l'APK est valide.
Le service analysera également l'APK avec plus de 60 analyseurs de virus et vous indiquera s'il a des signatures similaires à celles des virus déjà détectés.
la source
Pour comparer les certificats d’un fichier apk suspect, vous pouvez peut-être télécharger sa version sur le Play Store officiel de votre téléphone, effectuer une sauvegarde sur votre ordinateur, aller dans le répertoire de sauvegarde, sélectionner le fichier apk concerné et effectuer les mêmes vérifications. Vous pouvez également afficher les certificats Google en effectuant la vérification sur une application par défaut (comme pour tout com.google.android. * Apk).
la source
La méthode correcte pour vérifier un fichier APK consiste à utiliser
apksigner
.apksigner
fait partie des outils de construction Android, il est donc possible que plusieurs versions soient installées, une pour chaque version des outils de construction installés.Voici un exemple de chemin dans le SDK Android
apksigner
:Exécutez apksigner de cette façon:
Vous avez maintenant vérifié le fichier APK, mais vous ne savez toujours pas si vous pouvez faire confiance à la personne / organisation qui a signé le fichier APK. En effet, sur les signatures Android APK, on utilise par définition des certificats auto-signés. Si vous pouvez faire confiance à un certificat est donc une question difficile. Le seul moyen consiste à vérifier les autres applications qui ont été signées à l'aide du même certificat.
Le seul moyen que je connaisse est d'utiliser le service d'analyse PlayStore androidobservatory.org. Il dispose d'une API permettant de vérifier quelles applications ont été signées par le même certificat à l'aide du certificat SHA-1 Digest:
Edit: apkmirror.com permet également de rechercher le résumé du certificat. Entrez simplement le résumé du certificat SHA-1 ou SHA-256 en clair (sans les deux points ni les espaces) dans le champ de recherche:
Sur cette page, vous pouvez voir tous les autres fichiers APK sur le Google Play Store signés avec le même certificat.
la source