Symposium sur la sécurité des technologies de l'information et des communications

Conférence francophone sur le thème de la sécurité de l'information.
Elle a eu lieu à Rennes du 5 au 7 juin 2024.

PyAxmlBenoît Forgette


Date : 06 June 2024 à 15:30 — 15 min.
  1. Présentation de l'outil (https://gitlab.com/MadSquirrels/mobile/pyaxml)

PyAxml est un outil developpé en Python pour manipuler les fichiers AXML (Android XML). Cet outil est utile pour décoder et encoder les fichiers AXML et manipuler les fichiers AXML sous la forme d'un objet Protocol Buffers. Il est conçu pour fonctionner uniquement avec Python 3. Quelques exemples d’utilisation de l'outil sont fournis avec le projet :

- copyaxml.py qui permet de décoder et réencoder le fichier original au format AXML (https://gitlab.com/MadSquirrels/mobile/pyaxml/-/blob/main/examples/copyaxml.py?ref_type=heads)

- copyarsc.py qui permet de décoder et réencoder le fichier original au format ARSC (https://gitlab.com/MadSquirrels/mobile/pyaxml/-/blob/main/examples/copyarsc.py?ref_type=heads)

- replace_activity_name.py pour changer le nom d'une activité et la remplacer par un autre (https://gitlab.com/MadSquirrels/mobile/pyaxml/-/blob/main/examples/replace_activity_name.py?ref_type=heads)


Pour mieux comprendre comment est composé le format AXML un graphique decrivant le format AXML est associé au format drawio et svg : format.drawio, format.drawio.svg (https://gitlab.com/MadSquirrels/mobile/pyaxml/-/blob/main/format.drawio.svg?ref_type=heads)

Cette outil est déjà utilisé dans un autre outil apkpatcher, un outil permettant d'injeter des bibliothèques ou des permissions dans une application pour mener à un audit sur une application plus aisément. Dans ce cadre il est nécessaire de modifier le contenu des fichiers AXML contenu dans l'application Android. L'avantage de procédé de la sorte est d'éviter une extraction complète de l'application, lors de la reconstruction, il existe un grand nombre de cas ou la reconstruction pose problème lorsque l'on extrait l'application en entier.