2 votes

Trois tailles de fichiers APK différentes pour la même version/build de l'application ?

J'obtiens trois tailles de fichiers APK différentes pour le même fichier. même version/application de construction :

Pourquoi ?

Quel est le fichier original et quels sont les deux fichiers falsifiés ? Pourriez-vous confirmer que le téléchargeur Evozi essaie de vous "glisser" une version APK (ici : 2.7.2) différente du lien Google Play store que vous avez fourni (ici : 2.7.3) ou que Apkpure et Aptoide prétendent tous deux publier ? plus récent (ici : 08-09-2021 et 14-09-2021) que l'original (06-09-2021) ? Pourquoi cela se produit-il ?

UPDATE 1 : Comme demandé, j'ai extrait tous les APKs. Les résultats sont encore plus inquiétants :

  • Version 1 d'Evozi : 957 Files, 51 Folders, 24.757.075 bytes

  • Version 2 d'Apkpure : 819 Files, 21 Folders, 25.118.159 bytes

  • Version 3 d'Aptoide : 4319 Files, 101 Folders, 31.704.315 bytes

...4319 fichiers !

MISE À JOUR 2 : Comme suggéré, j'ai utilisé apksigner pour examiner les certificats contenus dans les APK :

Version 1 d'Evozi : 957 Files, 51 Folders, 24.757.075 bytes

C:\Users\...\Desktop>java -jar apksigner.jar verify --verbose --print-certs com.starfinanz.mobile.android.dkbpushtan_30044_apps.evozi.com.apk
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): false
Verified using v4 scheme (APK Signature Scheme v4): false
Verified for SourceStamp: false
Number of signers: 1
Signer #1 certificate DN: CN=Niels Mathea, OU=IT Betrieb Bank, O=DKB Service GmbH, L=Potsdam, ST=Brandenburg, C=DE
Signer #1 certificate SHA-256 digest: e5067dca4553173a1dd76352a8287b293960119689244ac58d0552703efe4268
Signer #1 certificate SHA-1 digest: b4199718eaa0e676755af77419fb59abf7fece00
Signer #1 certificate MD5 digest: 0a566744818c6fb89f4c900a1502cf1c
Signer #1 key algorithm: RSA
Signer #1 key size (bits): 2048
Signer #1 public key SHA-256 digest: d878ba65ddcd7bbd0d9fd284f0bc61762c7ecb83ecb6c58c8c138939fb661f7f
Signer #1 public key SHA-1 digest: dbf739ed124f07181b3cdd1867bdd0eb63da3d71
Signer #1 public key MD5 digest: 94fcb9a87a8ec48eed706456a93ab0cd
WARNING: META-INF/androidx.customview_customview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/.
[...]

Version 2 d'Apkpure : 819 Files, 21 Folders, 25.118.159 bytes

C:\Users\...\Desktop>java -jar apksigner.jar verify --verbose --print-certs "DKB TAN2go_v2.7.3_apkpure.com.apk"
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): false
Verified using v4 scheme (APK Signature Scheme v4): false
Verified for SourceStamp: false
Number of signers: 1
Signer #1 certificate DN: CN=Niels Mathea, OU=IT Betrieb Bank, O=DKB Service GmbH, L=Potsdam, ST=Brandenburg, C=DE
Signer #1 certificate SHA-256 digest: e5067dca4553173a1dd76352a8287b293960119689244ac58d0552703efe4268
Signer #1 certificate SHA-1 digest: b4199718eaa0e676755af77419fb59abf7fece00
Signer #1 certificate MD5 digest: 0a566744818c6fb89f4c900a1502cf1c
Signer #1 key algorithm: RSA
Signer #1 key size (bits): 2048
Signer #1 public key SHA-256 digest: d878ba65ddcd7bbd0d9fd284f0bc61762c7ecb83ecb6c58c8c138939fb661f7f
Signer #1 public key SHA-1 digest: dbf739ed124f07181b3cdd1867bdd0eb63da3d71
Signer #1 public key MD5 digest: 94fcb9a87a8ec48eed706456a93ab0cd
WARNING: META-INF/androidx.customview_customview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/.
[...]

Version 3 d'Aptoide : 777 Files, 21 Folders, 25.059.540 bytes

C:\Users\EPI-SMLM\Desktop>java -jar apksigner.jar verify --verbose --print-certs  com-starfinanz-mobile-android-dkbpushtan-30049-59302957-c297d2d2df90587173f6f8b78fce939d.apk
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): false
Verified using v4 scheme (APK Signature Scheme v4): false
Verified for SourceStamp: false
Number of signers: 1
Signer #1 certificate DN: CN=Niels Mathea, OU=IT Betrieb Bank, O=DKB Service GmbH, L=Potsdam, ST=Brandenburg, C=DE
Signer #1 certificate SHA-256 digest: e5067dca4553173a1dd76352a8287b293960119689244ac58d0552703efe4268
Signer #1 certificate SHA-1 digest: b4199718eaa0e676755af77419fb59abf7fece00
Signer #1 certificate MD5 digest: 0a566744818c6fb89f4c900a1502cf1c
Signer #1 key algorithm: RSA
Signer #1 key size (bits): 2048
Signer #1 public key SHA-256 digest: d878ba65ddcd7bbd0d9fd284f0bc61762c7ecb83ecb6c58c8c138939fb661f7f
Signer #1 public key SHA-1 digest: dbf739ed124f07181b3cdd1867bdd0eb63da3d71
Signer #1 public key MD5 digest: 94fcb9a87a8ec48eed706456a93ab0cd
WARNING: META-INF/androidx.customview_customview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/.
[...]

Une longue liste d'avertissements accompagne chaque APK. De plus, comme indiqué dans les commentaires, Aptoide a fourni le mauvais APK - la taille du fichier et le nombre de fichiers/dossiers contenus ont été mis à jour.

Quelqu'un sait-il ce qu'il faut penser de ce résultat ?

1voto

pr0nin Points 353

Si vous avez plusieurs fichiers APK provenant de différentes sources non fiables, il est sage de remettre en question leur authenticité. Vous avez déjà effectué les étapes de base pour ce faire, notamment vérifier leurs signatures cryptographiques à l'aide d'apksigner est le plus important.

Dans la sortie d'apksigner, la partie la plus importante est la section certificate SHA-256 digest . APK qui ont le même certificat SHA-256 sont garantis provenir du même développeur (en supposant que les clés n'ont pas été perdues/volées, ou que le développeur a vendu le projet à un autre développeur).

Dans votre cas, les versions d'Evozi et d'Apkpure ont le même hash mais celle d'Aptoide est totalement différente, même le DN du certificat est totalement différent. J'en expliquerai la raison à la fin de cette réponse, mais concentrez-vous d'abord sur Evozi et Apkpure.

Evozi et Apkpure

Vous savez que les deux versions proviennent du même développeur, mais l'authenticité de ce développeur reste inconnue. Comme il n'existe pas de répertoire où l'on peut consulter les hashs des certificats des développeurs Android, nous devons improviser. Nous recherchons donc le certificat SHA-256 et le hachage SHA-1 (SHA-1 n'est plus le meilleur pour la sécurité, mais cela coûte encore plusieurs milliers de dollars et beaucoup de temps pour le casser) sur des moteurs de recherche populaires comme Google. Vous trouverez alors de nombreuses entrées pour le hachage SHA-1 qui appartiennent toutes à des sites de téléchargement ou à des fils de discussion sur l'application DKB. Et les messages ne sont pas tous nouveaux mais remontent par exemple à 2017, il y a donc de fortes chances que les APK d'Evozi et d'Apkpure soient authentiques.

Mais la question reste de savoir pourquoi ils sont différents.

Il faut savoir qu'il y a plusieurs raisons pour lesquelles ils sont différents.

Version interne différente ?

Les applications Android ont deux numéros de version : le numéro de version versionName (une chaîne de caractères au contenu arbitraire) qui est affichée à l'utilisateur et une chaîne de caractères interne versionCode qui est un nombre entier simple qui augmente d'au moins un à chaque nouvelle version (les virgules, les points, etc. ne sont pas autorisés). Pour vérifier le code interne de la version, nous devons consulter le code décodé AndroidManifest.xml de chaque APK. Sur un PC, je préfère Jadx pour le faire.

Version Evozi :

android:versionCode="30044" android:versionName="2.7.2"

Version ApkPure :

android:versionCode="30049" android:versionName="2.7.3"

Comme vous pouvez le voir, les deux APKs ont une version interne et externe différente car les deux valeurs de version sont différentes.

De nombreux sites de téléchargement d'APK ne collectent pas eux-mêmes les fichiers APK, mais s'appuient sur les téléchargements des utilisateurs. De plus, les fichiers APK ne contiennent pas de date de sortie, donc ces sites utilisent la date d'upload comme date d'affichage. Ainsi, la date affichée sur Evozi et ApkPure est généralement plusieurs jours, voire plusieurs semaines, après la date de sortie officielle.

Mais il aurait été possible que seul versionCode diffère et versionName reste inchangée. Dans ce cas, il y a deux possibilités :

  1. Plusieurs versions ont été publiées sans que le numéro de version public ne soit modifié, par exemple parce qu'un bogue mineur a été corrigé dans la version la plus récente et que le développeur a décidé que cette modification était trop mineure pour justifier l'attribution d'un nouveau numéro de version.

  2. L'écosystème Android est très fragmenté. Différentes versions d'Android et du matériel Android très différent sont utilisés (par exemple, la taille et la densité de l'écran). À l'origine, les APK Android étaient conçus pour tout inclure pour chaque configuration matérielle, mais cela augmentait la taille de l'application et consommait de l'espace de stockage et du trafic internet en partie inutiles. Google a donc introduit plusieurs fonctionnalités pour résoudre ce problème. Depuis la possibilité de fournir différents APK pour différents types ou modèles d'appareils jusqu'au système le plus récent, qui permet au développeur de télécharger un ensemble d'applications et à Google de générer le(s) fichier(s) APK final(s) individuellement pour chaque modèle d'appareil.

Aptoide

Aptoide, contrairement à d'autres sites qui fournissent des fichiers APK à télécharger, n'est pas un site de téléchargement, mais un magasin d'applications. Cela signifie que les téléchargements qu'ils proposent sur leur site web ne sont pas les applications que vous avez recherchées. Il s'agit plutôt de l'application de l'App Store d'Aptoide. Cela explique la différence de signature, de certificat DN et le contenu totalement différent du fichier APK téléchargé.

Mais le fichier APK d'Aptoide que vous avez téléchargé n'est pas simplement l'application générale du magasin, c'est une version spéciale qui contient les métadonnées de l'application que vous vouliez télécharger. Une fois l'application Aptoide installée, une boîte de dialogue s'ouvre et vous demande si vous souhaitez télécharger et installer l'application liée "DKB-TAN2go".

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