Sortie de la plateforme de traçage dynamique d'applications Frida 12.10

Introduit sortie de la plateforme dynamique de traçage et d’analyse des applications Vendredi 12.10, qui peut être considéré comme un analogue de Greasemonkey pour les programmes natifs, permettant de contrôler le fonctionnement du programme lors de son exécution de la même manière que Greasemonkey permet de contrôler le traitement des pages Web. Le traçage des programmes est pris en charge sur les plateformes Linux, Windows, macOS, Android, iOS et QNX. Textes sources de toutes les composantes du projet propagé sous licence gratuite Licence de bibliothèque wxWindows (une variante de la LGPL qui n'impose pas de restrictions sur les modalités de diffusion des assemblages binaires d'œuvres dérivées).

En termes de tâches qu'il résout, Frida ressemble à DTrace dans l'espace utilisateur, mais JavaScript est utilisé pour écrire des scripts permettant de tracer et de traiter les statistiques d'exécution des applications. Les gestionnaires ont un accès complet à la mémoire du processus, peuvent intercepter les appels de fonction et appeler les fonctions implémentées dans l'application à partir du code JavaScript. Les composants principaux de Frida sont écrits en utilisant les langages C et Vala. Le moteur V8 est utilisé pour traiter JavaScript. Il existe des wrappers sur l'API Frida pour Node.js, Python, Swift, .NET, Qt/Qml et C.

La nouvelle version étend considérablement les capacités de débogage, de traçage et d'ingénierie inverse des programmes Java - dans le module pont-frida-java Ajout de la prise en charge de HotSpot JVM, qui vous permet d'utiliser cette couche non seulement pour Android, mais aussi pour les programmes Java classiques utilisant le JDK. Le traçage des méthodes Java a été ajouté à l'utilitaire frida-trace. Pour déterminer l'exécution des méthodes Java répondant à certains critères, une nouvelle API, Java.enumerateMethods(query), est proposée. Les requêtes de méthodes d'interception sont spécifiées sous la forme "class!method". Les modifications non Java incluent une prise en charge améliorée des systèmes ARM 32 bits dans le moteur de traçage Stalker et la mise en œuvre de l'optimisation adaptative, qui a permis d'accélérer l'exécution de Stalker jusqu'à cinq fois.

Source: opennet.ru

Ajouter un commentaire