Analyse statique locale des packages Android
La vérification d'un fichier d'application Android avant son installation constitue une étape essentielle pour garantir la sécurité d'un appareil. L'outil Visionneuse d'infos APK permet d'inspecter le contenu et les métadonnées d'un fichier APK (Android Application Package) directement depuis votre navigateur web. En tant qu'utilitaire d'analyse statique, il extrait les détails techniques du package sans jamais exécuter ni installer l'application sur votre système.
Cette méthode permet de valider les propriétés réelles d'un fichier et de les comparer avec les informations fournies par les développeurs officiels. Le traitement s'effectue localement grâce à un Worker dans votre navigateur: aucun fichier n'est transféré vers un serveur externe, garantissant ainsi une confidentialité totale lors de l'analyse.
Spécifications des fichiers acceptés et limites de traitement
Pour garantir une analyse fluide et sécurisée, l'outil applique des règles strictes concernant les formats et la taille des fichiers soumis:
- Format accepté: Seuls les fichiers portant l'extension
.apksont analysés. - Limite de taille: La taille maximale autorisée est de 500 MB. Si un fichier dépasse cette limite, l'outil rejette l'importation et affiche le message d'erreur:
"Ce fichier dépasse 500 MB — plus grand que ce qu'un onglet de navigateur peut inspecter en toute sécurité.". - Quantité de fichiers: L'outil traite un seul fichier à la fois. Si vous tentez d'importer plusieurs fichiers simultanément, seul le premier est analysé, accompagné de la mention:
"Un seul fichier à la fois — inspection du premier.".
Gestion des formats incompatibles et des erreurs de lecture
L'outil identifie précisément les structures de fichiers incorrectes afin de guider l'utilisateur:
- Packages fractionnés: Les formats XAPK ou APKM ne sont pas des APK standards. Ils déclenchent le message:
"Il s'agit d'un package fractionné XAPK — un conteneur de plusieurs APK. Extrayez l'APK de base et inspectez plutôt ce fichier.". - Android App Bundles: Le format de publication
.aabne peut pas être installé directement. L'outil le refuse avec le message:"Il s'agit d'un Android App Bundle (.aab) — un format de publication, et non un APK installable. Inspectez plutôt l'APK généré.". - Fichiers non-APK: Si le fichier ne contient pas la structure minimale requise, le message suivant apparaît:
"Ce fichier ne ressemble pas à un APK: aucun fichier AndroidManifest.xml lisible n'a été trouvé à l'intérieur.". - Fichiers corrompus ou illisibles: Un package tronqué affiche:
"Le package semble endommagé ou tronqué, son contenu n'a donc pas pu être lu.". Un problème d'accès au fichier génère le message:"Le fichier n'a pas pu être lu. Sélectionnez-le à nouveau.". Tout autre échec d'analyse générique affiche:"Échec de l'inspection. Essayez un autre fichier.".
Structure de l'APK et composants analysés
L'analyse statique décortique l'organisation interne de l'APK pour en extraire les composants déclarés dans le fichier manifeste.
Prérequis du système (Prérequis)
Cette section affiche les exigences de compatibilité de l'application avec le système d'exploitation Android:
- Android minimum (
lMinSdk): La version minimale requise pour exécuter l'application, affichée sous la formeAndroid ‹version› (API ‹level›)ouAPI ‹level›. - Android cible (
lTargetSdk): La version de l'API pour laquelle l'application a été conçue et testée. - SDK max (
lMaxSdk): Si le développeur a défini une limite supérieure, elle apparaît sous la formeSDK max ‹n›.
Composants de l'application (Composants)
L'outil répertorie les éléments structurels de l'application, limités à un affichage maximal de 100 entrées par catégorie. Au-delà de cette limite, la mention +‹count› de plus est ajoutée. Les composants accessibles par d'autres applications portent la mention exporté:
- Activités (
Activités): Les écrans de l'interface utilisateur. - Services (
Services): Les opérations s'exécutant en arrière-plan. - Destinataires (Receivers) (
Destinataires (Receivers)): Les composants qui écoutent les messages système ou les diffusions d'autres applications. - Fournisseurs (Providers) (
Fournisseurs (Providers)): Les composants gérant l'accès aux données partagées, affichant leur autorité spécifique ou la mentionAucun.
Ressources et Code natif
L'outil quantifie les fichiers inclus dans le package:
- Code natif (
Code natif): Identifie les types de processeurs pris en charge (ABIs) et le nombre de bibliothèques natives incluses. - Ressources (
Ressources): Affiche le nombre deDensités d'écran, deFichiers de ressources, deFichiers d'actifs, deFichiers de code (.dex)et le total desFichiers dans le package.
Évaluation des autorisations et niveau de risque
La section Autorisations (Autorisations) liste l'ensemble des permissions demandées par l'application dans son manifeste. Pour faciliter l'audit de sécurité, l'outil applique des règles de tri et de mise en valeur spécifiques:
- Priorisation: Les autorisations jugées sensibles par le système Android sont automatiquement placées en tête de liste.
- Badge de sécurité: Un badge rouge portant la mention
Dangereuseest apposé à côté de chaque autorisation ayant un accès direct à des données privées ou à des fonctionnalités sensibles de l'appareil (comme la position géographique, les contacts, l'appareil photo, le microphone ou l'espace de stockage).
Cette classification permet de vérifier rapidement si les accès demandés par le package sont cohérents avec la fonction réelle de l'application.
Certificats de signature et empreintes de sécurité
Chaque fichier APK doit être signé numériquement pour pouvoir être installé sur un appareil Android. La section Signatures (Signatures) extrait les métadonnées des certificats de signature v1 (blocs PKCS#7) ainsi que des blocs de signature APK v2, v3 et v3.1.
Pour chaque signataire identifié (Signataire ‹n›), l'outil affiche:
- Le Sujet (
Sujet) - L'entité émettrice (Émis par)
- Le Numéro de série
- La période de validité (Valide du / Valide jusqu'au)
- L'Algorithme de signature et l'Algorithme de clé
- Les empreintes de sécurité uniques MD5, SHA-1 et SHA-256 du certificat.
Si aucun bloc de signature valide n'est détecté, l'outil affiche le message d'avertissement: "Aucun bloc de signature reconnu trouvé — le paquet est peut-être non signé ou réemballé.".
Note technique: L'outil extrait et affiche ces métadonnées pour analyse visuelle, mais il ne procède pas à la vérification cryptographique de l'intégrité des signatures, ne valide pas la chaîne de confiance des certificats et ne certifie pas l'identité réelle de l'éditeur dans le monde physique.
Hachages de fichiers et intégrité
La section Empreintes du fichier (Empreintes du fichier) présente les hachages cryptographiques globaux du fichier APK soumis:
- MD5
- SHA-1
- SHA-256
Ces empreintes sont calculées localement durant la phase d'analyse. Elles permettent de s'assurer que le fichier APK que vous possédez est strictement identique à celui fourni par une source de confiance, en comparant simplement les chaînes de caractères obtenues avec les valeurs de référence publiées par le développeur.
Foire aux questions (FAQ)
Que peut-on apprendre d'un APK sans l'installer?
Pas mal de choses: le nom et la version du package de l'application, les versions d'Android requises, chaque autorisation demandée, les écrans et composants d'arrière-plan déclarés, les types de processeur pour lesquels du code natif est inclus, et les certificats avec lesquels il a été signé.
Cet outil peut-il me dire si un APK est un programme malveillant?
Non — et méfiez-vous de tout outil qui promet un verdict à partir d'une analyse rapide. Ce que vous obtenez ici, ce sont des faits: autorisations, composants, signataires et hachages. Comparez-les avec ce que publie le développeur, et considérez des autorisations inattendues ou un signataire différent de la version officielle comme des raisons de passer votre chemin.
Quels fichiers sont pris en charge?
Les fichiers APK uniques jusqu'à 500 MB. Les packages fractionnés (XAPK, APKM) et les Android App Bundles (.aab) sont des conteneurs ou formats de publication plutôt qu'un package installable unique, ils sont donc refusés avec un message clair au lieu d'un rapport confus.
Que révèlent les détails de signature?
Chaque application Android est signée, et le certificat identifie qui l'a publiée. Vous voyez quels schémas de signature le package utilise (v1, v2, v3) ainsi que le sujet de chaque signataire, sa période de validité et ses empreintes MD5, SHA-1 et SHA-256. Deux APK ayant des empreintes correspondantes proviennent du même éditeur — à vous de juger si vous faites confiance à cet éditeur.
Que signifie le badge « Dangereuse » sur une autorisation?
C'est la classification propre d'Android: les autorisations dangereuses peuvent accéder à des données privées — position, contacts, caméra, microphone, stockage — le système demande donc à l'utilisateur avant de les accorder. Le badge n'est pas une accusation; une application de cartographie demandant la position est normale. Il indique simplement les autorisations qu'il convient de lire à deux reprises.