Выпуск платформы динамической трассировки приложений Frida 12.10
1 июля 2020 года
Представлен выпуск платформы динамической трассировки и анализа приложений Frida 12.10, который можно рассматривать как аналог Greasemonkey для нативных программ, позволяющий контролировать работу программы во время её выполнения также, как Greasemonkey даёт возможность контролировать обработку web-страниц. Трассировка программ поддерживается на платформах Linux, Windows, macOS, Android, iOS и QNX. Исходные тексты всех компонентов проекта распространяются под свободной лицензией wxWindows Library Licence (вариант LGPL, не накладывающий ограничений на условия распространения бинарных сборок производных работ).
По решаемым задачам Frida напоминает DTrace в пространстве пользователя, но для написания скриптов для трассировки и обработки статистики выполнения приложения применяется язык JavaScript. Обработчики имеют полный доступ к памяти процесса, могут перехватывать обращение к функциям и вызывать реализованные в приложении функции из JavaScript-кода. Базовые компоненты Frida написаны с использованием языков Си и Vala. Для обработки JavaScript применяется движок V8. Имеются обвязки над API Frida для Node.js, Python, Swift, .NET, Qt/Qml и C.
В новом выпуске существенно расширены возможности по отладке, трассировке и обратному инжинирингу Java-программ - в модуль frida-java-bridge добавлена поддержка HotSpot JVM, которая позволяет применять данную прослойку не только для Android, но для обычных Java-программ, использующих JDK. В утилиту frida-trace добавлена трассировка методов Java. Для определения выполнения Java-методов, соответствующих определённым критериям, предложен новый API Java.enumerateMethods(query). Запросы для перехвата методов задаются в форме "class!method". Из не связанных с Java изменений отмечается улучшение поддержки 32-разрядных систем ARM в движке трассировки Stalker и реализация адаптивной оптимизации, которая позволила до пяти раз ускорить выполнение Stalker.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.