Convertir asec en apk

Convertir ASEC en APK

Récupérer un APK installable depuis un conteneur ASEC Android legacy à l’aide d’ADB.

Créer des fichiers APK en ligne

Nous ne savons pas encore lire les fichiers ASEC, cette conversion n’est donc pas proposée. Si vous pouvez exporter votre travail dans l’un de ces formats, nous en ferons un APK :

Comment convertir asec en fichier apk

Un APK est nécessaire lorsqu’une ancienne application Android stockée sur une carte SD doit être réinstallée, archivée ou examinée sur un autre appareil ou un ordinateur de bureau. Un fichier ASEC doit normalement être monté par Android afin que son APK puisse être récupéré ; modifier l’extension n’effectue pas la conversion.

Qu’est-ce que le format ASEC ?

ASEC, généralement développé en Android Secure External Cache ou Android Secure Container, était utilisé par les anciennes versions d’Android pour les applications déplacées vers un stockage externe. Le Package Manager d’Android et le système de gestion des volumes créaient et montaient ces conteneurs protégés, généralement dans des chemins tels que /mnt/asec/ ou sur une image de carte SD.

Un fichier ASEC non monté est généralement chiffré ou autrement protégé et ne possède pas la structure ZIP normale d’un APK. Il s’agit d’un conteneur de stockage système, et non d’un package d’application destiné à être installé directement sur Windows, macOS ou Android.

Qu’est-ce que le format APK ?

APK est le format de package d’application installable d’Android. Il s’agit d’une archive basée sur ZIP contenant un manifeste, du code compilé, des ressources, des bibliothèques natives et les informations de signature de l’application. Les fichiers APK peuvent être installés par Android Package Manager et examinés avec Android Studio, APK Analyzer ou Android SDK Build Tools.

Renommer application.asec en application.apk ne le déchiffre pas et ne le convertit pas. 7-Zip et APKTool peuvent examiner un APK après extraction, mais ils ne peuvent pas transformer un conteneur ASEC chiffré en APK.

Comment récupérer l’APK

Lorsque l’application d’origine est toujours installée

  1. Installez Android SDK Platform-Tools de Google, qui fournit adb.
  2. Sur l’appareil Android, activez Developer options → USB debugging, connectez l’appareil par USB et autorisez l’ordinateur.
  3. Confirmez la connexion avec adb devices.
  4. Trouvez l’identifiant du package avec adb shell pm list packages. Interrogez les chemins des packages installés avec adb shell pm path com.example.app, en remplaçant l’identifiant d’exemple.
  5. Si Android renvoie un chemin ASEC monté tel que /mnt/asec/com.example.app-1/pkg.apk, copiez ce fichier avec adb pull /mnt/asec/com.example.app-1/pkg.apk app.apk.
  6. Si le chemin renvoyé se trouve sous /data/app/, récupérez plutôt cet APK ; il s’agit déjà d’un APK et aucune conversion ASEC n’est nécessaire.
  7. Vérifiez le fichier extrait avec apksigner verify --verbose app.apk, en utilisant l’exécutable apksigner d’Android SDK Build Tools.

L’accès à un chemin ASEC monté peut nécessiter les privilèges root, et les versions plus récentes d’Android peuvent ne pas exposer le chemin à l’utilisateur du shell ADB. Si pm path renvoie plusieurs fichiers, récupérez chaque chemin ; l’application peut utiliser des split APKs pour les langues, les densités d’écran ou les architectures CPU. Installer uniquement l’APK de base peut produire une installation incomplète ou non fonctionnelle.

Lorsqu’il n’existe que le fichier ASEC hors ligne

Il n’existe pas de convertisseur général pour Windows, macOS ou Linux capable de déchiffrer un fichier ASEC arbitraire afin d’en faire un APK. Sa protection et ses métadonnées sont associées à l’installation Android qui l’a créé ou monté. La méthode pratique de récupération consiste à utiliser l’appareil d’origine et son contexte Package Manager, puis à extraire l’APK monté avec ADB.

Si l’appareil d’origine n’est pas disponible, obtenez l’application auprès de son développeur ou d’une source de distribution fiable, ou restaurez une sauvegarde appropriée de l’appareil. Les convertisseurs en ligne réputés ne prennent généralement pas en charge le déchiffrement ASEC. Téléverser un fichier ASEC vers un service inconnu peut divulguer les données de l’application et ne permet pas de contourner la protection du conteneur.

Limites de compatibilité

L’APK extrait conserve la signature du développeur d’origine, mais Android peut le rejeter en raison d’une version d’Android, d’une architecture CPU, d’autorisations, d’un état de signature ou d’une politique d’installation non pris en charge. Une application peut également nécessiter des données privées stockées sur l’appareil d’origine, Google Play services, une vérification de licence ou des fichiers OBB externes ; l’extraction de l’APK seul ne conserve pas ces dépendances.

ASEC était principalement associé aux anciennes applications Android déplacées vers un stockage externe et ne constitue pas le mécanisme normal de stockage des applications sur les versions actuelles d’Android. Sur un appareil actuel, utilisez adb shell pm path package.name pour récupérer directement l’APK installé ou l’ensemble de split APKs, au lieu de rechercher un fichier ASEC.

Comparaison du format ASEC vs APK

Comparaison entre les formats ASEC et APK sur les propriétés les plus importantes pour cette conversion.

Comparaison des formats de fichier ASEC et APK
Propriété .ASEC Android Secure Container .APK Android Package
Norme ouverte Non Non
Compression — Les deux
Taille de fichier typique Petit Moyen
S’ouvre dans un navigateur web Non Non
Modification ultérieure Non modifiable directement Non modifiable directement
Support des métadonnées Aucun Basique
Lisible en texte brut Non Non
Idéal pour Intégration dans des applications Intégration dans des applications
Date d’introduction 2009 2008
Développeur Google Google
Type MIME — application/vnd.android.package-archive