Depuis quelques années, Frida s’impose comme le framework d’analyse dynamique de code binaire pour PC, Mac et smartphones. Dans cet article, nous décrirons son architecture, son fonctionnement interne et son utilisation au travers d’un cas pratique.
Frida [FRIDA] est un outil d’analyse dynamique de code binaire extrêmement modulaire. Le fonctionnement général de Frida est le suivant : du code est injecté dans le processus à analyser, celui-ci peut alors manipuler l’état de la cible et dialoguer avec un processus maître extérieur.
De nombreux autres projets fonctionnent de manière similaire. L’intérêt de Frida se trouve dans sa modularité : chaque étape de la chaîne précédemment décrite peut être modifiée, réutilisée, réimplémentée. Grâce à cette modularité, Frida peut être utilisé avec des langages aussi variés que le C, Swift, Python, JavaScript, .NET ou QML et fonctionne sur iOS, Android, Linux, macOS, Windows et QNX.
1. Instrumentation dynamique de code binaire
1.1 Instrumentation
Avant de décrire Frida en détail, il est nécessaire de définir à quoi il sert, à savoir l’instrumentation dynamique de code binaire (ou DBI, pour Dynamic Binary Instrumentation dans...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première