PROJET AUTOBLOG


Korben

source: Korben

⇐ retour index

Comment décompiler une application Android (APK) et la recompiler ensuite

dimanche 24 janvier 2021 à 09:00

Le week-end dernier, j’ai bidouillé un peu sur mon smartphone Android. C’était merveilleux. Je l’ai rooté d’abord, car je voulais extraire une base de données d’une application, et également installer dessus des applications que j’aurai décompilées puis recompilées.

Je me suis dit que ce serait intéressant de vous faire un petit tuto reverse engineering d’application Android pour rigoler. C’est pas la première fois que je décompile un APK, mais c’était la première fois que je recompilais un truc modifié, donc si vous avez des précisions à apporter, d’autres outils ou des conseils, n’hésitez pas.

Récupérer l’APK

Pour récupérer l’APK, vous avez plusieurs possibilités. Vous pouvez passer APKGK pour récupérer l’APK qui vous intéresse, mais c’est une copie sur un site tiers, donc c’est pas forcément à jour.

Autrement, voici une méthode pour récupérer l’APK directement sur le smartphone. Votre téléphone doit être en mode développeur avec le debugging USB activé.

Vous devez également avoir le SDK Android sur votre ordinateur pour profiter des utilitaires, notamment ADB. Connectez votre smartphone Android à votre ordinateur en USB.

Ouvrez un terminal et entrez la commande suivante :

./adb devices

Vous verrez alors votre smartphone Android qui est bien connecté à votre ordinateur.

Ensuite, vous pouvez lister les applications installées sur votre smartphone à l’aide de la commande :

./adb shell pm list packages

On va isoler l’application qui nous intéresse. Pour ma part, ce sera TousAntiCovid, dans le cadre de leur programme de Bug Bounty. Attention, la décompilation de logiciels est encadrée par la loi et vous trouverez plus d’infos ici. Techniquement, je n’ai pas altéré l’application en question, je l’ai juste décompilé puis recompilé pour valider le process technique. J’ai pris celle-ci pour l’exemple et ce tuto fonctionnera avec n’importe quelle application.

Pour filtrer un peu ça, utilisons un grep et mettons le mot clé de l’application que nous cherchons :

./adb shell pm list packages | grep covid

On a donc le nom du package et ce qu’on aimerait, c’est le chemin pour récupérer l’APK. Pour cela, entrez la commande :

./adb shell pm path fr.gouv.android.stopcovid

Et vous aurez alors la liste des packages APK avec leur chemin d’accès.

Maintenant pour récupérer l’APK, rien de plus simple, il suffit de faire un petit adb pull.

./adb pull /data/app/fr.gouv.android.stopcovid-we-r7EfghHIaaEHoiugrwg==/base.apk

Bravo, vous venez de récupérer le .APK sur votre ordinateur !

Décompiler l’APK et lire le code

Maintenant on va regarder ce qu’il y a dedans.

Pour cela, il faut utiliser l’outil Apktool qui permet de désassembler l’APK et ses ressources, mais aussi de recompiler tout ça. Ici je décompile donc le fichier base.apk avec le paramètre « d ».

./apktool d base.apk

Voilà, vous aurez le code, notamment des fichiers smali, qui est un équivalent lisible par un humain du code bas niveau Dalvik.

J’en conviens, ce n’est pas très user friendly donc je vous propose un logiciel complémentaire nommé JadX qui dispose d’une interface graphique et qui « traduit » le code smali en code java lisible par un informaticien lambda.

Une fois installé, lancez jadx-gui puis ouvrez l’APK. Vous aurez alors une jolie vue plongeante dans le code en java et son équivalent smali. Cela n’extrait pas directement le code comme apktool, mais permet de voir ce qu’il y a dans l’APK. Les 2 outils sont complémentaires.

Vous pouvez aussi faire des recherches sur certaines chaînes de caractères présentes dans le code :

Modifier le code

Par contre, vous ne pouvez pas modifier directement le code via Jadx. Utilisez simplement un éditeur texte ou votre éditeur de code préféré pour éditer les fichiers. Il faudra écrire votre code directement au format smali.

Vous pourrez aussi modifier les ressources (images, chaines de caractères…etc).

Recompiler l’application

Une fois les fichiers modifiés, vous pouvez recompiler l’app à l’aide de la commande apktool, comme ceci :

./apktool b DOSSIER-DES-SOURCES

Et vous obtiendrez un APK. Mais attendez, ce n’est pas fini. Cet APK il va falloir le signer pour qu’Android accepte de l’installer.

Signer l’APK

Pour auto-signer un APK, vous devez d’abord créer une clé RSA sur votre ordinateur.

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Puis signer l’APK en utilisant cette clé :

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore VOTRE-APPLICATION.apk alias_name

Il existe aussi un outil qui fait le job qui s’appelle apksigner.

Mettre l’application dans le smartphone

Ensuite, y’a plus qu’à transférer l’application sur le smartphone pour l’installer. Là vous avez plusieurs méthodes. Donc le transfert bête et méchant par mail, Dropbox ou ce que vous voulez.

Mais pour faire ça propre, vous pouvez également utiliser adb :

./adb push APPLICATION.apk /sdcard/

Ou pour l’installer directement depuis l’ordinateur sans la transférer, faites un :

./adb install APPLICATION.apk

Et voilà ! Vous aurez ainsi votre application Android modifiée directement installée sur votre smartphone et y’a plus qu’à jouer avec.

Il se peut que selon la surcouche Android que vous avez, certaines sécurités soient en place. C’est le cas avec MIUI de Xiaomi qui scanne et contrôle la sécurité de la moindre application qu’on souhaite installer. Donc si ça ne s’installe pas directement, pensez à gratter un peu dans les options pour retirer les sécurités tout en ayant conscience que cela peut vous exposer à d’éventuels malwares ou cybercriminels. Donc, pensez à tout réactiver ensuite.


PROMO Fire TV Stick 4K Ultr

-20 € sur la plus puissante des versions du stick d’Amazon

Profitez d’une qualité d’image brillante avec l’accès aux formats 4K Ultra HD, Dolby Vision, HDR et HDR10+. Découvrez un son immersif avec le support pour son Dolby Atmos sur certains titres Prime Video.
Regardez vos programmes préférés sur Prime Video, Netflix, YouTube, Molotov, ARTE, France 24, Disney+, Apple TV et plus encore (des abonnements séparés peuvent être requis).
Accédez à des milliers d’applications et de Skills Alexa, ainsi qu’à des millions de sites Web.

Fire TV stick 4K à 39,99 €


<script type="text/javascript">;new advadsCfpAd( 121340 );
<script src="//ads.themoneytizer.com/s/gen.js?type=2"><script src="//ads.themoneytizer.com/s/requestform.js?siteId=69569&formatId=2">

<script type="text/javascript">;new advadsCfpAd( 118889 );

The system has been destroyed (Xiaomi brické)

samedi 23 janvier 2021 à 09:00

Alors non, je ne vais pas vous faire un article sur le système capitaliste à la dérive, mais plutôt vous expliquer comment récupérer un smartphone Xiaomi (voici le mien) que vous auriez malencontreusement flashé et sur lequel apparaît cette erreur qui fait frémir :

The system has been destroyed – Press power button to shutdown

Avant tout : PAS DE PANIQUE. Il est récupérable. Logiquement, s’il est dans cet état là, c’est que vous l’avez débloqué (unlock) et essayé de le rooter.

Voici donc comment sauver l’affaire. Tout d’abord, vous aurez besoin d’un ordinateur Windows et de la ROM MIUI de votre smartphone Xiaomi. Prenez le temps de bien la choisir sans vous tromper. Décompressez le zip de la ROM.

Ensuite, téléchargez l’outil MiFlash (miroir ici) puis lancez-le. Démarrez votre smartphone en mode Fastboot en maintenant enfoncé le bouton Volume Bas + Power.

Une fois que vous verrez la petite mascotte avec son chapeau communiste, connectez le smartphone à l’ordinateur puis cliquez sur le bouton « Refresh » (1). Vous verrez votre appareil apparaître dans la liste de MiFlash.

Ensuite, cliquez sur le bouton « Select » (2). Et choisissez le chemin d’accès vers le dossier contenant les fichiers de la ROM décompressés.

Ensuite, si vous voulez un smartphone débloqué ou bloqué, cochez le bon bouton radio en bas (3).

Puis en 4… mince, j’ai oublié le 4.

RIP le 4.

Bref, en (5) cliquez sur le bouton Flash et patientez longtemps jusqu’à ce que le résultat soit « Success » en vert.

Si ça se termine avec une erreur qui parle de checkpoint comme celle-ci…

…ce n’est pas forcement dramatique.

Vous pouvez tenter de redémarrer votre smartphone normalement et voir si ça passe. Si ça ne passe pas, il faudra recommencer le flashing.

Le smartphone redémarrera et vous aurez alors à nouveau accès à celui-ci.

Bravo à vous !


Nintendo Switch Edition Anniversaire Super Mario

PROMO: 309,99 € soit 10% de réduction

1 paire de manettes Joy-Con rouge et bleu + 1 support Joy-Con
1 station d’accueil Nintendo Switch + 1 câble HDMI
1 adaptateur secteur + 1 paire de dragonnes Joy-Con + 1 pochette de transport assortie

Précommandes ouvertes

En Savoir +


<script src="//ads.themoneytizer.com/s/gen.js?type=2"><script src="//ads.themoneytizer.com/s/requestform.js?siteId=69569&formatId=2">

Convertir un BIN + CUE en image ISO sous macOS

vendredi 22 janvier 2021 à 09:00

J’ai retrouvé un vieux couple .BIN + .CUE qui peuvent être gravés sur CD mais étant sous Mac et n’ayant pas de graveur sous la main, je me suis dit que j’allais convertir ça en ISO. Voici la procédure, j’ai pensé que ça pourrait service.

Pour cela, je suis passé par Brew et j’ai installé l’utilitaire bchuck :

brew install bchunk

Puis j’ai converti mon BIN + CUE en ISO comme ceci :

bchunk image.bin image.cue image.iso

et voilà !


Nintendo Switch Edition Anniversaire Super Mario

PROMO: 309,99 € soit 10% de réduction

1 paire de manettes Joy-Con rouge et bleu + 1 support Joy-Con
1 station d’accueil Nintendo Switch + 1 câble HDMI
1 adaptateur secteur + 1 paire de dragonnes Joy-Con + 1 pochette de transport assortie

Précommandes ouvertes

En Savoir +


<script src="//ads.themoneytizer.com/s/gen.js?type=2"><script src="//ads.themoneytizer.com/s/requestform.js?siteId=69569&formatId=2">

Donnez un look NES à votre site web

jeudi 21 janvier 2021 à 09:00

Si vous voulez donner un aspect console retro 8 bit à votre site Internet ou projet web, j’ai ce qu’il vous faut. Il s’agit d’une feuille de style baptisée NES.css qui vous offre toues les composants nécessaires pour faire de jolis boutons, des checkbox, des champs de formulaires…

…des listes, des boites de dialogue, des icônes sympathiques et même un peu de pixel art.

Bref de quoi faire. Moi je trouve ça mignon. Vive le retour au rétro !

Et tout est sur Github.


A la recherche d’un job dans le numérique et envie de changer de région et de vie ?

Est-ce que je fais vraiment le boulot que j’aime ? Ma qualité de vie dans cette grosse ville bruyante, polluée, chère … est-elle vraiment la meilleure ? Est-ce que ce village de campagne est le lieu le plus propice pour préparer mes enfants au futur ? Nous sommes nombreux à nous être posé ce genre de questions à un moment ou un autre, moi le premier.

Et bien si vous êtes dans cette situation, que vous avez envie de changer d’air sans pour autant changer de travail, Laou vous accompagne dans toutes les étapes de ce nouveau voyage, pour que vous ayez l’esprit serein jusqu’au moment d’envoyer votre premier mail pro 😉

Découvrir leur service et lancez-vous


<script src="//ads.themoneytizer.com/s/gen.js?type=2"><script src="//ads.themoneytizer.com/s/requestform.js?siteId=69569&formatId=2">

Le retour des cliparts

mercredi 20 janvier 2021 à 09:00

Bon vous vous souvenez des cliparts ? Mais si, ces dessins 2D au look approximatif que nous mettions dans nos documents Word pour faire plus joli ou dans nos cartes d’anniversaire réalisées avec Publisher 97 ?

Et bien même s’ils ont disparu / changé de nom sous les outils Microsoft, on trouve encore de véritables mines d’or en ligne contenant des milliers de clipart en libre accès. De quoi donner un look retro-kitch à vos publications ou pour accompagner un bon COMIC-SANS-MS comme on n’en fait malheureusement plus, à part dans les Webosaures.

Aujourd’hui, même si le clipart a disparu, il y a beaucoup de sites qui proposent d’en télécharger gratuitement. Certains proposent simplement des PNG avec fond transparent qui font bien l’affaire. Malheureusement, on ne peut pas vraiment les agrandir en taille sans perte de qualité.

L’équivalent du vrai clipart comme les plus anciens l’ont connu, serait à proprement dit plutôt un format SVG.

Je vous partage donc une petite liste de sites sur lesquels vous pourrez trouver à la fois des SVG, mais également des PNG transparents.

Google

Évidemment, Google sur sa section « Images » propose un filtre permettant d’afficher uniquement les images qu’il considère être comme des cliparts. Mais on n’est pas vraiment sur du clipart, mais plutôt sur du PNG transparent. Donc c’est un peu décevant.

Pixabay

Pixabay bien connu pour ses photos en téléchargement gratuit propose également une section « clipart » qui regroupe cette fois des images sur fond transparent qui ressemblent plus à des dessins vectoriels qu’à des PNG. On est donc sur du « vrai » clipart proposé soit dans des tailles gigantesques en PNG, soit directement en SVG. Et c’est ça qui est bon.

Artify

Artifiy propose des créations originales principalement de jolis petits bonhommes qui font des trucs, que vous pouvez télécharger gratuitement en PNG ou en payant en SVG.

Clipartmax

Sur Clipartmax, vous ne trouverez que des PNG et pas uniquement des dessins, mais également des photos détourées. Toutefois la qualité est très bonne.

Clipart Library

Alors celui-là en termes de qualité, il est pourrave, mais sur le contenu, on a uniquement des images qui ressemblent à du vrai clipart. Donc si vous recherchez ce style « clipart » à l’ancienne pour votre projet graphique, vous y trouverez sûrement votre bonheur en PNG ou JPG.

Clip Project

Alors celui-là, c’est pareil que Clipart Library, à savoir une qualité de merde, des images qui malheureusement sont watermakées avec le lien du site, mais qui ont quand même leur charme suite Office 97.

Pin Clipart

Pin Clipart propose uniquement des PNG sur fond transparent, mais que des styles « dessins » clipart et pas de photos réalistes.

1001 Clipart

Super site avec que des vrais cliparts au format EPS, SVG et PNG. Un régal de kitch.

Open Clipart

OpenClipart propose des centaines d’images au format SVG et tout ça en gratuit. Très bon site qui vise sur la qualité. Je pense que vous y trouverez votre bonheur.

PNG Item

Alors ici, pas de SVG et pas vraiment du clipart, mais une blinde de PNG transparents hyper cools pour tous vos projets. Je l’utilise beaucoup pour illustrer mes vidéos et mes articles. C’est plus efficace que de passer par Google Images.

Hi Clipart

Super site qui propose uniquement des PNG, mais en style clipart (dessin donc) et de bonne qualité.

Clipart Email

Clipart Email propose du vrai clipart dessin sur fond transparent. Donc des images bien Word 97 téléchargeables en PNG uniquement. Un régal pour les yeux.

Clipart ETC

Clipart ETC regroupe des images qui sont issues de documents anciens. C’est principalement pour le corps enseignant et vous y trouverez de jolis gravures pour illustrer vos documents / sites web.

Et pour ceux qui veulent du vrai Clipart à l’ancienne, souvenez-vous qu’avant, on pouvait s’acheter carrément des bibliothèques de Clipart sur CD. Et bien ces CDs, vous pouvez maintenant en télécharger les ISO sur Archive.org.

Et sinon, vous avez également tous ces sites sur lesquels je n’ai pas encore jeté mon œil, mais sur lesquels vous trouverez peut-être votre bonheur.


A la recherche d’un job dans le numérique et envie de changer de région et de vie ?

Est-ce que je fais vraiment le boulot que j’aime ? Ma qualité de vie dans cette grosse ville bruyante, polluée, chère … est-elle vraiment la meilleure ? Est-ce que ce village de campagne est le lieu le plus propice pour préparer mes enfants au futur ? Nous sommes nombreux à nous être posé ce genre de questions à un moment ou un autre, moi le premier.

Et bien si vous êtes dans cette situation, que vous avez envie de changer d’air sans pour autant changer de travail, Laou vous accompagne dans toutes les étapes de ce nouveau voyage, pour que vous ayez l’esprit serein jusqu’au moment d’envoyer votre premier mail pro 😉

Découvrir leur service et lancez-vous


<script src="//ads.themoneytizer.com/s/gen.js?type=2"><script src="//ads.themoneytizer.com/s/requestform.js?siteId=69569&formatId=2">