Android : Reverse Engineering

Magazine
Marque
GNU/Linux Magazine
Numéro
184
Mois de parution
juillet 2015
Domaines


Résumé
Si le système d'exploitation Android (AOSP pour les intimes), tel que proposé par Google, se veut libre et Open Source, ce n'est pas forcément le cas pour  l'écosystème applicatif le constituant. Pour autant, voyons comment il est possible de jouer les curieux ;-)

Si les applications Android sont écrites en Java, elles sont néanmoins compilées sous la forme d'un bytecode Dalvik, exécuté par une machine virtuelle dédiée. Les capacités d'introspection du langage Java rendent cependant aisée sa rétro-ingénierie, permettant ainsi de remonter à tout ou partie des sources Java originelles à partir d'une application Android du PlayStore. Au travers de cet article, nous reviendrons donc sur la façon dont les applications sont compilées, et verrons ensuite par le biais d'un exemple pratique (le jeu libre Frozen Bubble) comment il est possible de le décompiler, pour en modifier le contenu et ainsi démarrer le jeu à un niveau avancé. Vous apprendrez ainsi comment retrouver le code Java à partir d'une archive APK et à modifier directement le code assembleur Smali généré.

Avant toute chose, sachez que le principe de rétro-ingénierie constitue une pratique interdite en France. Cet article n'a donc qu'un but pédagogique. Loin de...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Créez des présentations animées avec Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
113
Mois de parution
mars 2021
Domaines
Résumé

Expliquer des faits scientifiques (des formules mathématiques, des phénomènes de physique, etc.) ou du code n’est pas toujours simple. Le recours à des animations peut apporter beaucoup plus de clarté et faciliter la compréhension de votre auditoire. Et ce n’est pas si compliqué à créer...

Traitement de tâches de fond en Ruby

Magazine
Marque
GNU/Linux Magazine
Numéro
246
Mois de parution
mars 2021
Domaines
Résumé

Beaucoup de projets web utilisent des frameworks qui font grand usage de Redis pour gérer les tâches de fond. Pourtant RabbitMQ ou Kafka sont des options qui peuvent donner un regard tout à fait différent sur l’application en elle-même. Tour d’horizon des trois approches.

Découvrez la programmation différentiable

Magazine
Marque
GNU/Linux Magazine
Numéro
246
Mois de parution
mars 2021
Domaines
Résumé

La programmation différentiable est une nouvelle façon de penser la programmation. Le principe consiste à considérer tout un programme comme une fonction qu’on puisse différentier, et donc optimiser. Nous allons construire dans cet article les outils de base pour ce faire, et présenter la librairie JAX, qui facilite la tâche.

Concevoir des tableaux en LaTeX

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
113
Mois de parution
mars 2021
Domaines
Résumé

Il n'est pas rare de vouloir intégrer de petits tableaux dans ses documents. LaTeX permet de créer rapidement et simplement une telle représentation d'informations. Il est également possible, avec un peu d'huile de coude, de créer des tableaux très complexes ! Ce n'est pas si compliqué... à condition de savoir comment faire !