wydanie platformy do dynamicznego śledzenia i analizy aplikacji , który można traktować jako analog Greasemonkey dla aplikacji natywnych, umożliwiający kontrolowanie działania programu w trakcie jego wykonywania, podobnie jak Greasemonkey pozwala kontrolować przetwarzanie stron internetowych. Śledzenie programów wspierane jest na platformach Linux, Windows, macOS, Android, iOS i QNX. Źródła wszystkich komponentów projektu na licencji wolnej (wariant LGPL, nie stawiający ograniczeń co do warunków dystrybucji binarnych wersji dzieł pochodnych).
W zakresie rozwiązywanych zadań Frida przypomina DTrace w przestrzeni użytkownika, ale do pisania skryptów do śledzenia i przetwarzania statystyk działania aplikacji używany jest język JavaScript. Obsługujące mają pełny dostęp do pamięci procesu, mogą przechwytywać wywołania funkcji i wywoływać funkcje zaimplementowane w aplikacji z poziomu kodu JavaScript. Podstawowe składniki Frida napisano w językach C i Vala. Do przetwarzania JavaScript wykorzystywany jest silnik V8. Dostępne są interfejsy API Frida dla Node.js, Pythona, Swifta, .NET, Qt/Qml i C.
W nowym wydaniu znacznie rozszerzono możliwości debugowania, śledzenia i inżynierii odwrotnej programów Java — w module dodano wsparcie dla HotSpot JVM, co pozwala na wykorzystanie tej warstwy nie tylko dla aplikacji Android, ale również dla zwykłych programów Java, które korzystają z JDK. Do narzędzia frida-trace dodano śledzenie metod Java. Aby określić wykonanie metod Java, które spełniają określone kryteria, wprowadzono nowe API Java.enumerateMethods(query). Zapytania dotyczące przechwytywania metod są formułowane w postaci „class!method”. Z niepowiązanych z Javą zmian zauważa się poprawę wsparcia dla 32-bitowych systemów ARM w silniku śledzenia. i wdrożenie adaptacyjnej optymalizacji, co pozwoliło na pięciokrotne przyspieszenie działania Stalker.
Źródło: opennet.ru
