Reverse engineering sous Android

Magazine
Marque
MISC
HS n°
Numéro
7
Mois de parution
mai 2013
Domaines


Résumé

Le monde mobile est dominé par le système Android. Être capable d'analyser une application Android afin de la comprendre, évaluer sa robustesse ou détecter la présence d'un malware est une compétence de plus en plus recherchée. Cet article synthétise les différentes techniques et outils permettant l'étude d'une application Android.


1. Introduction

Cet article tente de synthétiser l'état de l'art du reverse engineering sous Android. Il ne s'agit pas d'un article introduisant au monde Android, le lecteur intéressé trouvera de nombreuses ressources sur Internet concernant ce sujet. Classiquement, les méthodes d'analyse statiques (désassemblage, décompilation et automatisation de l'analyse), puis les méthodes d'analyse dynamiques (monitoring, instrumentation et debugging) seront présentées.

2. L'analyse statique

2.1. Le désassemblage

2.1.1. Les fichiers DEX (Dalvik Executable)

Une application Android est un fichier ZIP ayant pour extension « .apk ». Le code exécutable de l'application, compilé sous la forme de bytecode Dalvik, est situé dans le fichier classes.dex.

Le bytecode au format Dalvik peut être désassemblé/assemblé via le couple d'outils [BAKSMALI]/[SMALI] (respectivement désassembleur et assembleur en islandais, histoire de briller en société). Par souci 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...

Découverte de la puce Titan M a.k.a Citadel

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

La puce Titan M ou Citadel est une puce sécurisée sur laquelle repose en grande partie la sécurité des terminaux Android de Google, la gamme Pixel. Dans cet article, nous détaillerons le fonctionnement interne et les usages de ce composant pour lequel peu d’information publique est disponible à ce jour. Nous donnerons également plusieurs pistes pour aider le rétro-ingénieur à travailler sur ce projet.

Les protections des Secure Elements contre les attaques physiques

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

Écrire du code sécurisé sans bug ni vulnérabilité n’est pas suffisant pour protéger un système contre des attaques matérielles. Les circuits sécurisés, ou Secure Elements, sont de vraies forteresses numériques capables de résister à des attaques évoluées, qui requièrent parfois des moyens colossaux. Que se cache-t-il derrière ces petites puces ?

Introduction à QBDI et ses bindings Python

Magazine
Marque
MISC
Numéro
109
Mois de parution
mai 2020
Domaines
Résumé

Le présent article traite de l'outil d'instrumentation dynamique QBDI. C'est un framework de DBI (Dynamic Binary Instrumentation), comparable à d'autres projets publics tels qu’Intel PIN, Valgrind ou encore DynamoRIO. Avant d'entrer dans le vif du sujet, quelques rappels peuvent s'avérer nécessaires…

Utilisez des applications Android dans une machine virtuelle pour protéger votre téléphone

Magazine
Marque
Linux Pratique
Numéro
119
Mois de parution
mai 2020
Domaines
Résumé

La nouvelle mode pousse le commerce à proposer des applications à installer sur nos téléphones pour enrichir notre expérience de client (sic). Nous montrons dans cet article comment utiliser ces applications sans perturber le fonctionnement de notre téléphone réel. Il est en effet possible de disposer d’une plateforme jetable et peu onéreuse pour tester ou utiliser des applications. Nous présenterons l’installation de l’environnement de développement Android Studio. Nous montrerons comment lancer un téléphone virtuel à partir de cet environnement, puis directement à partir de la ligne de commandes.