Quelle est l’extension du fichier APK ? Comment ouvrir l’APK ? Fichier avec extension apk.

Vous pouvez rencontrer un fichier d'extension APK, par exemple, si vous décidez d'installer sur votre ordinateur une application que vous avez utilisée sur votre tablette. Après avoir téléchargé un fichier sur Internet, le moment sera venu de réfléchir à comment ouvrir le fichier apk sur votre ordinateur ?

Qu'est-ce qu'un fichierAPKet son but

APK (abréviation de Android Package) est un format de fichiers d'application archivés pour Android. Toute application écrite pour Android, après compilation, est regroupée dans un seul fichier de cette extension. Le nom du fichier peut être n'importe quoi, mais l'extension doit être .APK.

Le cryptage n'est pas utilisé lors du stockage de données dans une archive de ce type.

Ainsi, chaque fichier .apk est une archive qui peut être exécutée par DalvikVM (machine virtuelle) et peut être installée non seulement sur le système d'exploitation Android.

Les fichiers APK sont stockés dans le système dans le répertoire /data/app, accessible uniquement via l'Explorateur.

Pour développer vos propres applications, vous pouvez utiliser le SDK Android de Google, un environnement de développement.

Vous pouvez télécharger des fichiers de cette extension soit à partir de l'endroit où ils sont stockés, soit sur des ressources tierces sur Internet (ce qui n'est pas souhaitable). Une fois téléchargée, vous pouvez installer manuellement l'application contenue dans le fichier apk sur votre tablette ou smartphone. Il n'est pas recommandé d'installer des applications provenant de sources inconnues - elles peuvent contenir du code malveillant, tandis que toutes les applications disponibles via Google Play sont testées et signées. La procédure d'installation de l'application APK Android sur une tablette ou un smartphone via USB est décrite ci-dessous :

  1. Vous devez copier le fichier .APK sur l'appareil de la manière qui vous convient (via USB, transfert via Wi-Fi, etc.) ;
  2. A l'aide du gestionnaire de fichiers, accédez au répertoire où l'application a été enregistrée ;
  3. Ouvrez le fichier apk sélectionné.

Un certain nombre de fabricants désactivent la possibilité d'installer des applications provenant de sources inconnues. Si vous devez activer cette fonctionnalité, accédez à Paramètres. Sélectionnez la section « Sécurité », cochez l'option « Autoriser l'installation d'applications non obtenues depuis le Market ».

Tutoriel vidéo sur le format de fichier APK

Afficher le contenu du fichierAPK

Vous vous demandez quel programme ouvrir un fichier apk pour voir ce qu’il contient ?

Étant donné que les fichiers .APK utilisent des algorithmes de compression similaires à ZIP, le contenu de ces archives peut être obtenu à l'aide de presque n'importe quel archiveur - .

Pour afficher le contenu d'un fichier à l'aide de l'un des archiveurs spécifiés, vous devez modifier l'extension APK en ZIP.

Installation de fichiersAPKsur l'ordinateur

Vous vous demandez comment ouvrir un fichier apk sur votre ordinateur ? Vous trouverez ci-dessous une liste qui vous aidera lors de l'installation. Elle vous montrera comment ouvrir le fichier arc sous n'importe quel système d'exploitation requis.

Alors, comment ouvrir les fichiers APK sous différentes plateformes :


Où d’autre pouvez-vous rencontrer des fichiers ?APK?

Les fichiers de cette extension peuvent être utilisés par d'autres applications et services décrits ci-dessous.

  1. En tant que fichier pour le service de jeux d'arcade GameSpy. Cette extension est utilisée dans un jeu MMO shareware. L'utilitaire, qui permet aux joueurs de trouver des jeux multijoueurs disponibles, de s'y connecter et de communiquer entre les joueurs, utilise des fichiers d'extension APK qui stockent les données du service.
  2. Stockage des projets Active Tutor - un environnement qui fournit des outils de développement multimédia (Creator - 4C Soft Inc.).
  3. Stockage des données d'activité. Les fichiers APK sont également utilisés dans le jeu de simulation de train (Microsoft Train Simulator), sorti en 2001.

Nous avons donc examiné le format de fichier APK - à quoi sert-il, quel programme pour ouvrir le fichier arc, où pouvez-vous utiliser les fichiers de cette extension. Nous espérons que ces informations seront utiles aux lecteurs.

APK. Comment l'ouvrir ?

Si vous ne savez pas de quel type de format il s'agit - APK et comment il peut être ouvert sur un ordinateur ou un téléphone, lisez le texte de l'article. Nous parlerons en détail de ses caractéristiques, des méthodes de travail et de modification de ses éléments individuels.

Qu’est-ce qu’un APK ?

Lire aussi :[Instructions] Comment récupérer des fichiers supprimés sur Android : programmes pour téléphone et PC

Android Package Kit (APK) est un format de fichier exécutable pour le système d'exploitation. Il s'agit d'une archive contenant les données sources de l'application (code du programme, fichiers de ressources compilés, paramètres, actifs, bibliothèques).

Particularités :

  • Ne peut pas être converti dans un autre format.
  • Archivé à l'aide de la fonctionnalité de compression basée sur JAR.
  • C'est un sous-ensemble du format ZIP.
  • Peut être modifié à l'aide du SDK Google Android, Eclipse avec le plugin ADT.
  • Les fichiers de l'archive APK ne sont pas cryptés.

Les fichiers portant l'extension APK sont stockés sur Google Play et dans d'autres magasins d'applications pour les appareils Android. Ils sont décompressés et installés automatiquement, sans utilisation de logiciel supplémentaire. Les données sont stockées dans le dossier racine /data/app. Vous ne pouvez y accéder que via l'Explorateur.

Pour développer des applications Android avec une extension APK, le SDK Android de Google est utilisé. Il est disponible en téléchargement gratuit sur le site officiel et est basé sur Java.

Comment ouvrir sur votre téléphone

Lire aussi : RAR pour Android : Comment utiliser l'archiveur sur mobile

Comment ouvrir un fichier APK sur votre téléphone

Si une application mobile pour la plate-forme Android est téléchargée à partir d'une ressource ou d'un ordinateur tiers, elle aura alors une extension apk. Ensuite, vous pouvez l'installer manuellement sur votre téléphone.

Comment ouvrir le fichier apk depuis le téléphone :

Après cela, l'application commencera à se décompresser. Consultez les conditions, accordez l’accès aux fonctionnalités si nécessaire et poursuivez l’installation.

Format APK

Si vous ne parvenez pas à copier le package APK via USB, envoyez-le via Bluetooth ou par e-mail. Ou connectez séparément une carte mini SD à votre ordinateur à l'aide d'un adaptateur et transférez-y le fichier.

Erreur à l'ouverture

Lire aussi : TOP 10 des gestionnaires de fichiers pour Android : choisir celui qui vous convient le mieux | Révision des versions anglaise et russe

Comment autoriser l'installation à partir de sources inconnues

Si, après avoir copié le fichier APK sur l'appareil, il ne peut pas être lancé, il est fort probable que la possibilité d'installation via ait été désactivée par le fabricant.

Suivez ces étapes pour l'activer :

  • Accédez au menu Paramètres et recherchez la catégorie Informations personnelles ici.
  • Sélectionnez « Sécurité » et cochez la case à côté "Sources inconnues (autoriser l'installation à partir de sources inconnues)".
  • Lancez le fichier APK et poursuivez l'installation.

Si une erreur apparaît, dans le même menu, décochez la case à côté de "Vérifier les candidatures". Ensuite, Android n'interdira pas les installations susceptibles d'endommager l'appareil. Utilisez cette méthode uniquement si vous êtes sûr que le fichier APK que vous installez est sûr.

Autres méthodes

Lire aussi : TOP 15 des meilleurs antivirus gratuits pour les gadgets Android en 2019

Si vous souhaitez afficher le contenu du fichier APK depuis votre téléphone, vous pouvez utiliser la version mobile ou un logiciel spécial pour cela.

Jetons un coup d'œil aux programmes les plus populaires qui vous permettent de modifier des packages apk :

  • Éditeur d'APK

Interface du programme de l'éditeur APK

Fonctionne aussi bien avec les packages qu'avec ceux déjà installés sur l'appareil, . Vous permet de modifier des manifestes individuels, de modifier des ressources et de remplacer des fichiers. Il dispose d'une interface graphique pratique et d'un support cyrillique.

  • DroidEdit Gratuit

Interface du programme gratuit DroidEdit

Application mobile gratuite pour créer et modifier des manifestes individuels. Vous ne pourrez pas ouvrir l'APK lui-même en l'utilisant, mais modifier des éléments individuels (après le déballage) ne pose aucun problème.

  • Outil SmartAPK

Interface SmartAPKTool

Vous permet de signer des fichiers aux formats APK, ZIP. Décompressez et emballez l’APK. Convient aux applications de pré-édition. SmartAPKTool peut nécessiter un logiciel supplémentaire (ApkTool, machine virtuelle Java) pour fonctionner.

Après cela, vous pourrez modifier les lignes de code et les notifications existantes. Dans certaines applications, vous pouvez ajouter des actions supplémentaires ou supprimer celles existantes (par exemple, afficher des annonces). Veuillez noter qu'après cela, il sera différent de celui d'origine, vous ne pourrez donc plus le mettre à jour via Google Play.

Comment extraire l'APK

Lire aussi : Comment supprimer un virus d'Android sur votre téléphone : Instructions 2019

Interface de l'extracteur d'APK

Si vous avez besoin d'obtenir l'APK d'une application déjà installée sur votre téléphone, vous pouvez le faire à l'aide d'un logiciel spécial. Il existe plusieurs programmes gratuits sur le Play Market, mais nous utiliserons APK Extractor à cet effet.

La procédure sera la suivante :

Comment extraire l'apk à l'aide d'APK Extractor

Comment ouvrir sur un ordinateur

Lire aussi :[Instructions] Comment transférer une application sur la carte mémoire d'un smartphone Android : 4 méthodes simples | 2019

Fichiers APK

Vous pouvez décompresser le fichier APK pour afficher ou modifier le contenu à l'aide d'un archiveur classique. Cependant, vous ne pourrez ni installer ni lancer l’application. Pour cela, vous avez besoin d'un logiciel spécial.

Comment ouvrir l'APK sur différents systèmes d'exploitation :

  • Windows-7-Zip, WinRAR.
  • Linux - 7-Zip, décompressez.
  • MacOS - Utilitaire d'archivage.

Si, lors de l'installation de l'archiveur, les extensions n'ont pas été configurées (qui seront associées par défaut), alors le programme peut ne pas reconnaître le fichier apk. Il s'agira alors d'un format « inconnu ».

Pour l'ouvrir, cliquez dessus avec la souris et sélectionnez le logiciel souhaité dans la liste des programmes suggérés. Après cela, vous aurez accès à toutes les données originales de la candidature.

Émulateurs pour exécuter des fichiers APK sur PC

Lire aussi : Installer Android sur PC : TOP 10 des émulateurs sous Windows

Si vous souhaitez l'installer sur votre ordinateur, le fichier aura une extension APK. Pour l'installer, vous aurez besoin d'un émulateur spécial. Ils sont disponibles en téléchargement gratuit.

Interface BlueStacks

Il a de bonnes performances dans les jeux et vous permet d'exécuter des applications gourmandes en ressources. La fonctionnalité principale est la fonctionnalité Bluestacks TV. Nécessaire pour les diffusions en ligne sur .

À l'aide d'un émulateur, vous pouvez lancer des applications mobiles via des packages apk ou les installer directement depuis le Play Market. Pour utiliser les services Google, vous devrez vous connecter avec un compte.

Pour lancer les packages apk eux-mêmes, il n'est pas nécessaire de connecter un compte. Mais si un jeu ou un programme nécessite une connexion à un réseau social ou à d’autres services, vous devrez alors vous connecter ou passer par une simple inscription.

Même tous les propriétaires d'appareils dotés du système d'exploitation Android ne savent pas ce qu'est un fichier APK. Que dire de ceux qui n’ont jamais utilisé de téléphone ou de tablette avec ce système. Cependant, même les propriétaires d’ordinateurs Windows peuvent tirer de nombreux avantages des fichiers APK.

Tout d’abord, comprenons ce que sont les fichiers.

Android Package est une extension de fichier utilisée pour distribuer des programmes pour tout appareil sur lequel Android est installé. Sous Windows, pour installer le programme, vous devez trouver le fichier .exe. Sous Android, vous devez trouver un APK pour cela. Ces fichiers sont distribués via des sites proposant des logiciels pour téléphones ou sur des forums spéciaux.

Android Package est une archive qui stocke l'application elle-même et tous les fichiers nécessaires à son fonctionnement. .

Pourquoi sont-ils nécessaires et pourquoi peuvent-ils être utiles aux propriétaires d'ordinateurs simples ?

De nombreuses applications intéressantes et inhabituelles ont déjà été écrites pour les appareils dotés du système d'exploitation Android. La plupart d’entre eux n’ont pas de version de bureau. Dans ce cas, si vous souhaitez jouer à votre jeu préféré sur votre téléphone, mais que vous ne l’avez pas sous la main, vous devrez installer le fichier APK sur votre ordinateur.

Une autre situation dans laquelle vous devrez peut-être ouvrir un APK sur votre ordinateur est d'afficher son contenu. Cela peut être nécessaire pour le changer partiellement. Par exemple, traduisez-le dans la langue souhaitée.

Important! Les fichiers qui nous intéressent ne disposent d'aucun cryptage supplémentaire. Un fichier APK n’est rien de plus qu’une archive dans laquelle sont stockées les données de l’application.

Afficher le contenu

Nous allons maintenant apprendre à visualiser le contenu d'un fichier, à examiner sa structure et, si nécessaire, à y apporter des modifications. Alors nous avons besoin:


Vous pouvez également décompresser cette archive sur votre ordinateur et y accéder à tout moment.

Mais la plupart souhaitent toujours savoir comment commencer à utiliser des applications sur leur ordinateur. Ce sera un peu plus difficile à faire, mais cela reste assez simple. Tout le monde peut faire ça.

Un téléphone est aussi un petit ordinateur. La seule différence réside dans le logiciel fondamentalement différent. Par conséquent, vous devrez installer un programme spécial - émulateur

Comme son nom l'indique, un tel programme crée un système exécutant Android sur votre appareil. Vous pourrez télécharger, installer n'importe quelle application sur l'émulateur et les utiliser directement via votre ordinateur.

Les émulateurs Android deviennent de plus en plus populaires et demandés en raison du nombre croissant d'applications uniques. Désormais, plusieurs développeurs peuvent proposer un émulateur stable et de haute qualité. Examinons plusieurs émulateurs et choisissons celui qui convient le mieux à vos tâches.

L'émulateur le plus connu, le plus répandu et le plus utilisé est Bluestacks.

Pour commencer, nous allons ouvrir notre dossier dessus.


Important! Bluestacks est idéal pour ouvrir des jeux et est le plus souvent utilisé à cet effet. Les inconvénients de l'application incluent une interface trop encombrée à certains endroits et une grande quantité d'informations inutiles qui ne seront pas utiles à tout le monde.

Lecteur d'application Nox

Mais ce programme est mal adapté aux jeux. Ils affichent souvent les éléments graphiques de manière incorrecte. Dans cet émulateur, les développeurs se sont concentrés sur le travail avec des programmes. Vous pouvez devenir root en quelques clics. Si vous souhaitez ouvrir l'APK avec cette application, alors vous avez besoin de :


Afficher du contenu sur Android

Pour visualiser le contenu du fichier apk, et ne pas l'installer complètement, nous serons aidés par un programme puissant Éditeur d'apk Pour Android. Alors nous avons besoin:


Installer des applications pour smartphone sur votre appareil n'est pas si difficile. N'importe quel utilisateur peut le faire.

Vidéo - Comment ouvrir un fichier apk sur un ordinateur

Lors du téléchargement d'applications pour smartphone via un ordinateur, un utilisateur peut constater que son fichier d'installation possède une extension APK. Peu de gens le savent, mais ce format peut être lancé non seulement sur Android, mais également sur Windows, et comment procéder sera décrit plus en détail dans le texte.

Qu'est-ce que l'APK

Avant de commencer à chercher des moyens de lancer des fichiers APK sur un appareil de bureau, il convient de préciser ce qu'est réellement ce format.

Ainsi, son nom complet est Android Package. En conséquence, nous pouvons déjà conclure qu'il est destiné à fonctionner dans le cadre d'un système d'exploitation mobile. Ici, nous pouvons faire une analogie avec le format EXE, qui est utilisé sous Windows et est un installateur pour une application. De même, un APK est une archive avec tous les fichiers du programme, ainsi que des instructions pour les extraire. En termes simples, il s'agit d'un programme d'installation d'applications pour Android.

Comment ouvrir un fichier APK sur un ordinateur

Au début de l'article, il était dit que les fichiers APK pouvaient être exécutés non seulement sur les smartphones fonctionnant sous Android, mais également sur Windows. Bien entendu, cela nécessitera des outils supplémentaires. Ils peuvent être divisés en deux catégories :

  • pour afficher la liste des fichiers installés ;
  • pour installer l'application.

Dans le premier cas, n'importe quel archiveur connu fera l'affaire : il peut être utilisé pour ouvrir l'APK et voir quels fichiers il contient. Mais pour installer des programmes Android sur le système d'exploitation Windows, vous devez utiliser des applications plus sérieuses appelées émulateurs.

Utiliser des archiveurs

Nous allons commencer par comment ouvrir un fichier APK à l'aide d'un archiveur. La question peut immédiatement se poser de savoir pourquoi cela est nécessaire. Mais, comme mentionné précédemment, vous pouvez ainsi visualiser tous les fichiers de l'application installée et, surtout, y apporter quelques modifications, par exemple traduire le texte en russe.

Pour effectuer toutes les opérations, on utilisera l'archiveur WinRAR, que chaque utilisateur peut installer, car l'application est distribuée gratuitement.

  1. Faites un clic droit (RMB) sur le fichier APK.
  2. Sélectionnez l'option "Propriétés" dans le menu.
  3. Dans la fenêtre qui s'ouvre, allez dans l'onglet « Général ».
  4. En face de la ligne « Candidature », cliquez sur le bouton « Modifier ».
  5. Une boîte de dialogue apparaîtra dans laquelle vous devrez sélectionner un programme pour ouvrir le fichier. Si WinRAR n'est pas dans la liste, précisez le chemin d'accès direct en cliquant sur le lien « Rechercher une autre application sur cet ordinateur ».
  6. Une fenêtre de gestionnaire de fichiers s'ouvrira. Dans celui-ci, vous devez accéder au répertoire contenant le fichier exécutable WinRAR. Par défaut, il se trouve dans le chemin suivant : « C:\Program Files\WinRAR\ ».
  7. En allant dans le dossier contenant l'archiveur, sélectionnez le fichier exécutable et cliquez sur le bouton « Ouvrir ».
  8. Dans la fenêtre Propriétés, cliquez sur Appliquer puis sur OK.

Après avoir suivi cette instruction, tous les fichiers portant l'extension APK seront lancés via l'archiveur, il vous suffit de double-cliquer dessus avec le bouton gauche de la souris (LMB).

Lancer l'émulateur

Si le but du téléchargement du fichier APK sur votre ordinateur était de l'installer davantage et de ne pas l'ouvrir, vous devrez alors utiliser un émulateur du système d'exploitation Windows. Il y en a beaucoup sur le marché des logiciels, ils ne seront donc pas tous pris en compte dans l'article, mais uniquement les plus populaires.

BleuStacks

BlueStacks est l’émulateur Android le plus populaire, c’est donc un bon point de départ. Ainsi, pour installer une application Android sur le bureau Windows, vous devez suivre ces étapes :

  1. Lancez BlueStacks.
  2. Sur le panneau de gauche avec une liste d'outils, cliquez sur le bouton « APK ».
  3. Une fenêtre du gestionnaire de fichiers s'ouvrira, dans laquelle vous devrez accéder au dossier contenant le fichier APK précédemment téléchargé.
  4. Sélectionnez l'application Android et cliquez sur le bouton « Ouvrir ».
  5. Le processus d'installation de l'application dans BlueStacks démarrera, attendez qu'il se termine.
  6. Le menu de l'émulateur affichera l'icône du programme nouvellement installé ; cliquez dessus pour le lancer.

Droïde4X

Droid4X est l'un de ses émulateurs de système d'exploitation mobile populaires et il peut être utilisé pour exécuter des applications Android sur des ordinateurs Windows. Cela peut être fait beaucoup plus facilement :

  1. Installez le programme Droid4X sur votre ordinateur.
  2. Ouvrez le gestionnaire de fichiers de l'Explorateur de fichiers.
  3. Accédez au dossier contenant le fichier APK téléchargé.
  4. Faites un clic droit dessus.
  5. Dans le menu contextuel, sélectionnez « Jouer avec Droid4X ».
  6. Le processus d'installation de l'application mobile commencera. Attendez qu'il soit terminé.
  7. Cliquez sur LMB sur l'icône du programme installé dans le menu de l'émulateur.

Génymotion

Grâce à l’émulateur Genymotion, installer un fichier APK sur un ordinateur est beaucoup plus difficile, mais cela reste une bonne alternative aux méthodes précédentes. Attention toutefois, vous devez au préalable créer un compte sur le site Genymotion et installer la machine virtuelle VirtualBox.

  1. Lancez Genymotion.
  2. Cliquez sur le bouton « Ajouter » sur le panneau supérieur.
  3. Dans la fenêtre qui apparaît, cliquez sur « Suivant ».
  4. Ensuite, cliquez également sur « Suivant ».
  5. Attendez la fin du téléchargement et dans la fenêtre VirtualBox qui s'ouvre, cliquez sur le bouton « Lancer ».
  6. Revenez à la fenêtre Genymotion et cliquez sur le bouton "Démarrer".
  7. Une fenêtre Android émulée apparaîtra. Pour installer l'APK, vous devez d'abord installer Genymotion ARM Translation. Pour ce faire, ouvrez le dossier contenant ce fichier et faites-le glisser avec la souris dans la fenêtre de l'émulateur.
  8. Redémarrez l'émulateur et la machine virtuelle.
  9. Ouvrez le dossier contenant le fichier APK et faites-le glisser dans la fenêtre de l'émulateur.

Immédiatement après cela, l'application sera lancée et vous pourrez interagir avec elle via la fenêtre de l'émulateur.

Parfois, certaines applications sur Android ne conviennent pas à l'utilisateur d'une manière ou d'une autre. Un exemple est la publicité intrusive. Et il arrive aussi que le programme soit bon pour tout le monde, mais que la traduction soit tordue, soit complètement absente. Ou, par exemple, le programme est un essai, mais il n'y a aucun moyen d'obtenir la version complète. Comment changer la donne ?

Introduction

Dans cet article, nous expliquerons comment désassembler un package APK avec une application, examiner sa structure interne, désassembler et décompiler le bytecode, et également essayer d'apporter plusieurs modifications aux applications qui peuvent nous apporter un avantage ou un autre.

Pour faire tout cela vous-même, vous aurez besoin d'au moins des connaissances de base du langage Java, dans lequel les applications Android sont écrites, et du langage XML, qui est utilisé partout dans Android - de la description de l'application elle-même et de ses droits d'accès au stockage des chaînes qui sera affiché à l’écran. Vous aurez également besoin de pouvoir utiliser un logiciel de console spécialisé.

Alors, qu’est-ce qu’un package APK dans lequel absolument tous les logiciels Android sont distribués ?

Décompilation d'application

Dans cet article, nous n'avons travaillé qu'avec du code d'application désassemblé, mais si des modifications plus sérieuses sont apportées aux applications volumineuses, il sera beaucoup plus difficile de comprendre le petit code. Heureusement, nous pouvons décompiler le code dex en code Java, qui, bien que non original et non compilé, est beaucoup plus facile à lire et à comprendre la logique de l'application. Pour ce faire, nous aurons besoin de deux outils :

  • dex2jar est un traducteur du bytecode Dalvik en bytecode JVM, sur la base duquel nous pouvons obtenir du code en langage Java ;
  • jd-gui est un décompilateur lui-même qui vous permet d'obtenir du code Java lisible à partir du bytecode JVM. Comme alternative, vous pouvez utiliser Jad (www.varaneckas.com/jad) ; Bien qu'il soit assez ancien, il génère dans certains cas un code plus lisible que Jd-gui.

C'est ainsi qu'ils doivent être utilisés. Tout d'abord, nous lançons dex2jar, en spécifiant le chemin d'accès au package apk comme argument :

% dex2jar.sh mail.apk

En conséquence, le package Java mail.jar apparaîtra dans le répertoire courant, qui peut déjà être ouvert dans jd-gui pour afficher le code Java.

Disposition des packages APK et réception de ceux-ci

Un package d'application Android est essentiellement un fichier ZIP standard qui ne nécessite aucun outil spécial pour afficher son contenu ou l'extraire. Il suffit d'avoir un archiveur - 7zip pour Windows ou une console décompressée sous Linux. Mais c'est à propos de l'emballage. Qu'est-ce qu'il y a à l'intérieur? En général, nous avons la structure suivante à l’intérieur :

  • META-INF/- contient un certificat numérique de l'application, identifiant son créateur, et les sommes de contrôle des fichiers du package ;
  • res/ - diverses ressources que l'application utilise dans son travail, telles que des images, une description déclarative de l'interface, ainsi que d'autres données ;
  • AndroidManifest.xml- description de la demande. Cela inclut, par exemple, une liste des autorisations requises, la version Android requise et la résolution d'écran requise ;
  • classes.dex- bytecode d'application compilé pour la machine virtuelle Dalvik ;
  • ressources.arsc- aussi des ressources, mais d'un autre genre - notamment des chaînes (oui, ce fichier peut être utilisé pour la russification !).

Les fichiers et répertoires répertoriés se trouvent, sinon dans la totalité, du moins peut-être dans la grande majorité des APK. Cependant, il existe quelques autres fichiers/répertoires moins courants qui méritent d'être mentionnés :

  • actifs- analogue des ressources. La principale différence est que pour accéder à une ressource, il faut connaître son identifiant, mais la liste des actifs peut être obtenue dynamiquement à l'aide de la méthode AssetManager.list() dans le code de l'application ;
  • lib- des bibliothèques Linux natives écrites en utilisant NDK (Native Development Kit).

Ce répertoire est utilisé par les producteurs de jeux qui y placent leurs moteurs de jeux écrits en C/C++, ainsi que par les créateurs d'applications performantes (par exemple Google Chrome). Nous avons compris l'appareil. Mais comment obtenir le fichier package de l’application qui vous intéresse ? Puisqu'il n'est pas possible de récupérer les fichiers APK de l'appareil sans root (ils se trouvent dans le répertoire /data/app) et que le root n'est pas toujours conseillé, il existe au moins trois façons d'obtenir le fichier d'application sur votre ordinateur :

  • Extension du téléchargeur d'APK pour Chrome ;
  • Véritable application APK Leecher ;
  • divers hébergements de fichiers et Varezniks.

Lequel utiliser est une question de goût ; nous préférons utiliser des applications distinctes, nous décrirons donc l'utilisation de Real APK Leecher, d'autant plus qu'il est écrit en Java et, par conséquent, fonctionnera soit sous Windows, soit sous Nix.

Après avoir démarré le programme, vous devez remplir trois champs : Email, Mot de passe et ID de l'appareil - et sélectionner une langue. Les deux premiers sont l'e-mail et le mot de passe de votre compte Google que vous utilisez sur l'appareil. Le troisième est l'identifiant de l'appareil et peut être obtenu en tapant le code sur le composeur. # #8255## puis trouver la ligne Device ID. Lors du remplissage, il vous suffit de saisir l'ID sans le préfixe Android.

Après avoir rempli et enregistré, le message « Erreur lors de la connexion au serveur » apparaît souvent. Cela n'a rien à voir avec Google Play, alors n'hésitez pas à l'ignorer et à rechercher les packages qui vous intéressent.

Afficher et modifier

Disons que vous avez trouvé un package qui vous intéresse, que vous l'avez téléchargé, décompressé... et que lorsque vous avez essayé de visualiser un fichier XML, vous avez été surpris de découvrir que ce fichier n'était pas du texte. Comment le décompiler et comment travailler avec les packages en général ? Est-il vraiment nécessaire d'installer le SDK ? Non, il n’est pas du tout nécessaire d’installer le SDK. En fait, toutes les étapes pour extraire, modifier et empaqueter les packages APK nécessitent les outils suivants :

  • Archiveur ZIP pour le déballage et l'emballage ;
  • petit- Assembleur/désassembleur de bytecode de machine virtuelle Dalvik (code.google.com/p/smali) ;
  • apte- un outil de packaging des ressources (par défaut, les ressources sont stockées sous forme binaire pour optimiser les performances des applications). Inclus dans le SDK Android, mais peut être obtenu séparément ;
  • signataire- un outil de signature numérique d'un package modifié (bit.ly/Rmrv4M).

Vous pouvez utiliser tous ces outils séparément, mais cela n'est pas pratique, il est donc préférable d'utiliser un logiciel de niveau supérieur construit sur cette base. Si vous travaillez sous Linux ou Mac OS X, il existe un outil appelé apktool. Il vous permet de décompresser les ressources dans leur forme originale (y compris les fichiers binaires XML et arsc), de reconstruire un package avec des ressources modifiées, mais il ne sait pas comment signer les packages, vous devrez donc exécuter l'utilitaire de signature manuellement. Malgré le fait que l'utilitaire soit écrit en Java, son installation est assez non standard. Vous devez d’abord récupérer le fichier jar lui-même :

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ export PATH=~/bin:$PATH

Si vous travaillez sous Windows, il existe un excellent outil appelé Virtuous Ten Studio, qui rassemble également tous ces outils (y compris apktool lui-même), mais au lieu d'une interface CLI, il fournit à l'utilisateur une interface graphique intuitive avec laquelle vous pouvez effectuez les opérations de déballage, de démontage et de décompilation en quelques clics. Cet outil est Donation-ware, c'est-à-dire que parfois des fenêtres apparaissent vous demandant d'obtenir une licence, mais en fin de compte, cela peut être toléré. Cela ne sert à rien de le décrire, car vous pouvez comprendre l'interface en quelques minutes. Mais apktool, en raison de sa nature de console, devrait être discuté plus en détail.


Regardons les options d'apktool. En bref, il existe trois commandes de base : d (décoder), b (construire) et if (installer le framework). Si tout est clair avec les deux premières commandes, alors que fait la troisième instruction conditionnelle ? Il décompresse le cadre d'interface utilisateur spécifié, ce qui est nécessaire dans les cas où vous disséquez un package système.

Regardons les options les plus intéressantes de la première commande :

  • -s- ne démontez pas les fichiers dex ;
  • -r- ne décompressez pas les ressources ;
  • -b- n'insérez pas d'informations de débogage dans les résultats du démontage du fichier dex ;
  • --frame-path- utilisez le framework d'interface utilisateur spécifié au lieu de celui intégré à apktool. Examinons maintenant quelques options pour la commande b :
  • -F- assemblage forcé sans vérifier les modifications ;
  • -un- indiquez le chemin vers aapt (un outil pour créer une archive APK), si pour une raison quelconque vous souhaitez l'utiliser à partir d'une autre source.

L'utilisation d'apktool est très simple ; pour cela, il suffit de spécifier l'une des commandes et le chemin d'accès à l'APK, par exemple :

$ apktool d mail.apk

Après cela, tous les fichiers extraits et désassemblés du package apparaîtront dans le répertoire de messagerie.

Préparation. Désactiver la publicité

La théorie est bien sûr bonne, mais pourquoi est-elle nécessaire si nous ne savons pas quoi faire du paquet déballé ? Essayons d'appliquer la théorie à notre avantage, à savoir modifier certains logiciels pour qu'ils ne nous montrent pas de publicité. Par exemple, que ce soit Virtual Torch - une torche virtuelle. Ce logiciel est idéal pour nous, car il regorge de publicités ennuyeuses et, en plus, il est suffisamment simple pour ne pas se perdre dans la jungle du code.


Ainsi, en utilisant l’une des méthodes ci-dessus, téléchargez l’application depuis le marché. Si vous décidez d'utiliser Virtuous Ten Studio, ouvrez simplement le fichier APK dans l'application et décompressez-le, créez un projet (Fichier -> Nouveau projet), puis sélectionnez Importer un fichier dans le menu contextuel du projet. Si votre choix s'est porté sur apktool, exécutez simplement une commande :

$ apktool d com.kauf.particle.virtualtorch.apk

Après cela, une arborescence de fichiers similaire à celle décrite dans la section précédente apparaîtra dans le répertoire com.kauf.particle.virtualtorch, mais avec un répertoire smali supplémentaire au lieu des fichiers dex et un fichier apktool.yml. Le premier contient le code désassemblé du fichier dex exécutable de l'application, le second contient les informations de service nécessaires à apktool pour réassembler le package.

Le premier endroit que nous devrions examiner est, bien sûr, AndroidManifest.xml. Et là, nous rencontrons immédiatement la ligne suivante :

Il n'est pas difficile de deviner qu'il est chargé d'accorder à l'application les autorisations pour utiliser la connexion Internet. En fait, si nous voulons simplement nous débarrasser de la publicité, il nous suffira probablement de bloquer l’application sur Internet. Essayons de faire cela. Nous supprimons la ligne spécifiée et essayons de créer le logiciel à l'aide d'apktool :

$ apktool b com.kauf.particle.virtualtorch

Le fichier APK résultant apparaîtra dans le répertoire com.kauf.particle.virtualtorch/build/. Cependant, il ne sera pas possible de l'installer, car il n'a pas de signature numérique ni de somme de contrôle de fichier (il n'a tout simplement pas de répertoire META-INF/). Nous devons signer le package à l'aide de l'utilitaire apk-signer. Lancé. L'interface se compose de deux onglets - sur le premier (Key Generator), nous créons des clés, sur le second (APK Signer), nous signons. Pour créer notre clé privée, remplissez les champs suivants :

  • Fichier cible- fichier de sortie du magasin de clés ; il stocke généralement une paire de clés ;
  • Mot de passe Et Confirmer- mot de passe pour le stockage ;
  • Alias- nom de la clé dans le stockage ;
  • Mot de passe pseudo Et Confirmer- mot de passe de la clé secrète ;
  • Validité- durée de validité (en années). La valeur par défaut est optimale.

Les champs restants sont, en général, facultatifs – mais au moins un doit être rempli.


AVERTISSEMENT

Pour signer une application à l'aide d'apk-signer, vous devez installer le SDK Android et spécifier le chemin complet d'accès dans les paramètres de l'application.

Toutes les informations sont fournies à titre informatif uniquement. Ni les éditeurs ni l'auteur ne sont responsables de tout dommage éventuel causé par les éléments de cet article.

Vous pouvez maintenant signer l'APK avec cette clé. Dans l'onglet APK Signer, sélectionnez le fichier nouvellement généré, entrez le mot de passe, l'alias de clé et le mot de passe, puis recherchez le fichier APK et cliquez hardiment sur le bouton « Signer ». Si tout se passe bien, le colis sera signé.

INFO

Puisque nous avons signé le package avec notre propre clé, il entrera en conflit avec l'application d'origine, ce qui signifie que lorsque nous essaierons de mettre à jour le logiciel via le marché, nous recevrons une erreur.

Une signature numérique n'est requise que pour les logiciels tiers, donc si vous modifiez des applications système installées en les copiant dans le répertoire /system/app/, vous n'avez pas besoin de les signer.

Après cela, téléchargez le package sur votre smartphone, installez-le et lancez-le. Voilà, la pub est partie ! Au lieu de cela, cependant, un message est apparu indiquant que nous n'avons pas Internet ou que nous ne disposons pas des autorisations appropriées. En théorie, cela pourrait suffire, mais le message semble ennuyeux et, pour être honnête, nous avons juste eu de la chance avec une application stupide. Un logiciel normalement écrit clarifiera très probablement ses informations d'identification ou vérifiera une connexion Internet et refusera simplement de se lancer. Comment être dans ce cas ? Bien sûr, modifiez le code.

Généralement, les auteurs d'applications créent des classes spéciales pour afficher des publicités et appellent des méthodes de ces classes lorsque l'application ou l'une de ses « activités » (en termes simples, les écrans d'application) est lancée. Essayons de trouver ces classes. On va dans le répertoire smali, puis com (org ne contient que la bibliothèque graphique ouverte cocos2d), puis kauf (c'est là que c'est, car c'est le nom du développeur et tout son code est là) - et le voici, l'annuaire marketing. À l’intérieur, nous trouvons un tas de fichiers avec l’extension smali. Ce sont des classes, et la plus remarquable d'entre elles est la classe Ad.smali, d'après le nom de laquelle il est facile de deviner que c'est celle qui affiche de la publicité.

Nous pourrions changer la logique de son fonctionnement, mais il serait beaucoup plus simple de simplement supprimer les appels à l'une de ses méthodes depuis l'application elle-même. Par conséquent, nous quittons le répertoire marketing et allons dans le répertoire de particules adjacent, puis dans virtualtorch. Le fichier MainActivity.smali mérite ici une attention particulière. Il s'agit d'une classe Android standard créée par le SDK Android et installée comme point d'entrée de l'application (analogue à la fonction principale en C). Ouvrez le fichier pour le modifier.

A l'intérieur il y a du petit code (assembleur local). Il est assez déroutant et difficile à lire en raison de sa nature de bas niveau, nous ne l'étudierons donc pas, mais trouverons simplement toutes les références à la classe Ad dans le code et les commenterons. Nous saisissons la ligne « Annonce » dans la recherche et arrivons à la ligne 25 :

Champ annonce privée : Lcom/kauf/marketing/Ad ;

Ici, un champ publicitaire est créé pour stocker un objet de classe Ad. Nous commentons en plaçant un signe ### devant la ligne. Nous continuons la recherche. Ligne 423 :

Nouvelle instance v3, Lcom/kauf/marketing/Ad ;

C'est là que se produit la création de l'objet. Commentons. Nous continuons la recherche et trouvons dans les lignes 433, 435, 466, 468, 738, 740, 800 et 802 des appels aux méthodes de la classe Ad. Commentons. On dirait que c'est ça. Sauvegarder. Il faut maintenant reconstituer le package et vérifier sa fonctionnalité et la présence de publicité. Pour la pureté de l'expérience, nous renvoyons la ligne supprimée de AndroidManifest.xml, assemblons le package, signons et installons.

Notre cobaye. Publicité visible

Oops! La publicité n'a disparu que pendant l'exécution de l'application, mais est restée dans le menu principal, que l'on voit au lancement du logiciel. Alors attendez, mais le point d'entrée est la classe MainActivity, et la publicité a disparu pendant l'exécution de l'application, mais est restée dans le menu principal, donc le point d'entrée est différent ? Pour identifier le véritable point d'entrée, rouvrez le fichier AndroidManifest.xml. Et oui, il contient les lignes suivantes :

Ils nous disent (et, plus important encore, à Android) qu'une activité nommée Start doit être lancée en réponse à la génération d'une intention (événement) android.intent.action.MAIN de la catégorie android.intent.category.LAUNCHER. Cet événement est généré lorsque vous appuyez sur l'icône de l'application dans le lanceur, il détermine donc le point d'entrée, à savoir la classe Start. Très probablement, le programmeur a d'abord écrit une application sans menu principal, dont le point d'entrée était la classe MainActivity standard, puis a ajouté une nouvelle fenêtre (activité) contenant le menu et décrit dans la classe Start, et en a fait manuellement l'entrée. indiquer.

Ouvrez le fichier Start.smali et cherchez à nouveau la ligne « Ad », on retrouve aux lignes 153 et 155 une mention de la classe FirstAd. Il est également présent dans le code source et, à en juger par son nom, il est responsable de l'affichage des publicités sur l'écran principal. Regardons plus loin, il y a la création d'une instance de la classe FirstAd et d'une intention qui, selon le contexte, est liée à cette instance, puis le label cond_10 dont la transition conditionnelle s'effectue exactement avant de créer une instance de la classe:

If-ne p1, v0, :cond_10 .line 74 nouvelle instance v0, Landroid/content/Intent ; ... :cond_10

Très probablement, le programme calcule de manière aléatoire si la publicité doit être affichée sur l'écran principal et, dans le cas contraire, passe directement à cond_10. Ok, simplifions sa tâche et remplaçons la transition conditionnelle par une transition inconditionnelle :

#if-ne p1, v0, :cond_10 goto:cond_10

Il n'y a plus de mention de FirstAd dans le code, nous fermons donc le fichier et réassemblons notre torche virtuelle à l'aide d'apktool. Copiez-le sur votre smartphone, installez-le, lancez-le. Voilà, toute publicité a disparu, ce pour quoi nous nous félicitons tous.

Résultats

Cet article n'est qu'une brève introduction aux méthodes de piratage et de modification des applications Android. De nombreux problèmes sont restés en coulisses, tels que la suppression de la protection, l'analyse du code obscurci, la traduction et le remplacement des ressources d'application, ainsi que la modification des applications écrites à l'aide du NDK Android. Cependant, ayant des connaissances de base, ce n’est qu’une question de temps pour tout comprendre.

mob_info