The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

26.08.2014 14:48  Выпуск платформы динамической трассировки приложений Frida и отладчика CryptoShark

Разработчики проекта Frida, в рамках которого развивается платформа для динамической трассировки и анализа приложений, представили релиз 1.6.3 и новый графический отладчик CryptoShark, основанный на технологиях Frida. По решаемым задачам Frida напоминает DTrace в пространстве пользователя, но для написания скриптов для трассировки и обработки статистики выполнения приложения применяется язык JavaScript. По сути Frida является аналогом Greasemonkey для нативных программ, позволяя контролировать работу программы во время её выполнения также, как Greasemonkey даёт возможность контролировать обработку web-контента.

Трассировка программ поддерживается на платформах Linux, Windows, OS X и iOS. Простейшие сценарии трассировки могут выполняться при помощи утилиты frida-trace (например, "frida-trace -i 'recv*' -i 'read*' Skype"), для более сложных сценариев предлагается подключать обработчики на языке JavaScript. Подобные обработчики имеют полный доступ к памяти процесса, могут перехватывать обращение к функциям и вызывать реализованные в приложении функции из JavaScript-кода. Таким образом в обработчиках может быть организовано двунаправленное взаимодействие с процессом.

Доступность Python-биндинга позволяет использовать язык Python для создания утилит и надстроек над Frida API (скрипты, контролирующие выполнение программы создаются только на JavaScript). Одним из перспективных направлений использования Frida является создание средств для анализа и разбора проприетарных криптографических протоколов и API.

CryptoShark является кроссплатформенной графической надстройкой над Frida, предоставляющей удобный интерфейс для отладки произвольных процессов с использованием техники динамической рекомпиляции. Работа осуществляется на уровне машинного кода, без необходимости наличия отладочной информации или исходных текстов. Поддерживается установка тегов на вызовы API, отображение данных о вызываемых функциях в режиме реального времени, подстановка вызовов для детального журналирования действий.

Базовые компоненты Frida написаны с использованием языков Си и Vala. Для обработки JavaScript применяется движок V8. Отладчик CryptoShark написан на языке C++ и использует для построения интерфейса библиотеку Qt5, а для дизассемблирования - фреймворк Сapstone. Исходные тексты всех компонентов проекта распространяются под свободной лицензией wxWindows Library Licence (вариант LGPL, не накладывающий ограничений на условия распространения бинарных сборок производных работ).

  1. Главная ссылка к новости (http://www.frida.re/news/2014/...)
  2. OpenNews: Выпуск системы динамической отладки SystemTap 2.5
  3. OpenNews: Выход ktap 0.2, системы динамической трассировки для ядра Linux
  4. OpenNews: Компания Oracle представила первый стабильный релиз DTrace для Linux
Лицензия: CC-BY
Тип: Программы
Ключевые слова: frida, dtrace, trace, debug
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.2, Аноним, 17:05, 26/08/2014 [ответить] [смотреть все]    [к модератору]
  • +/
    Так и не понял зачем это нужно
     
     
  • 2.4, Аноним, 17:26, 26/08/2014 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    я так понял что это для живого перехвата и модификации функций
     
     
  • 3.7, Аноним, 19:41, 26/08/2014 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    Ну это понятно, юзкейс то какой
     
     
  • 4.9, Аноним, 10:25, 27/08/2014 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    Продвинутое изучение активности в системе с трассировкой/профилировкой?
     
  • 2.11, Аноним, 09:24, 28/08/2014 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    Для реверс-инжиниринга.
     
  • 1.5, x0r, 17:43, 26/08/2014 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    чтобы отлаживать native я должен знать етот ваш жабаскрипт??
     
     
  • 2.6, inferrna, 18:05, 26/08/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    > чтобы отлаживать native я должен знать етот ваш жабаскрипт??

    не должен. Вот лично прям ты можешь отлаживать прямо в hex

     
     
  • 3.10, Аноним, 10:27, 27/08/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Ну вообще-то большинство системного софта на си и было бы очень кстати если бы и... весь текст скрыт [показать]
     
  • 2.8, udev rules, 04:26, 27/08/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Никто не заставляет тебя юзать этот отладчик для отладки натива.

    Мне тоже решение показалось странным, но, очевидно, разработчики решили не придумывать свой собственный NIH-скриптовый язык, чтобы его можно было использовать в дебаггере, а решили взять уже распространённый скриптовый язык (а это чаще всего либо Lua, либо JS, т.к. для них библиотеки-интерпретаторы есть).

     
     
  • 3.12, Аноним, 09:25, 28/08/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Лучше бы Python взяли ... весь текст скрыт [показать]
     
     
  • 4.13, Аноним, 04:17, 29/08/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Python тоже есть, вот пример из официальной документации import frida p frid... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor