Frida.re - кто использовал?

Тема в разделе "WASM.HEAP", создана пользователем M0rg0t, 4 фев 2021.

Статус темы:
Закрыта.
  1. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.574
    Кто нибудь юзал такую тулзу для реверса - frida?
    Не могу понять до конца, как и что там юзать на винде, есть несколько ехе https://github.com/frida/frida/releases , непонятно какой запускать.

    Во всех примерах установка через петон, меня же интересует - есть ли там установщик/портабл версия, которая без питонов работает?
     
    omne999666 нравится это.
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Вряд ли, тут у всех свои кастомные визоры, ты же знаешь.

    Ну это потому, что нормальные люди ее с питоном и используют, так как написать скрипт в разы проще, чем перекомпилить сишечку (да и вообще писать на ней) каждый раз, когда тебе нужно что-то поправить в твоем анализе. И кстати, судя по PyPI они еще не сподобились добавить поддержку последнего Питона (3.9.х), то есть тебе понадобится не просто Питон, а Питон версии 3.8.х.
     
    M0rg0t нравится это.
  3. eshmereum

    eshmereum New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2020
    Сообщения:
    23
    Frida глючная.
    Попробуй запустить VS2015 под frida-discover или frida-trace, к примеру:

    Код (Text):
    1.  
    2. C:\python27\Scripts>frida-discover devenv.exe
    3. Tracing 38 threads. Press ENTER to stop.
    4. Process terminated [b]<<< тут студия просто вылетает[/b]
    5. Stopping...
    6.  
    Если студия все-таки не вылетит - попробуй поработать с другими процессами. Почти уверен, что очень быстро ты найдешь баг.
    Трассировка системных процессов с помощью Frida по этой причине невозможна.
    Я Frida использую только для code coverage в lighthouse: https://github.com/gaasedelen/lighthouse/blob/master/coverage/frida/frida-drcov.py
    Запускаешь, танцуешь с бубном чтобы не вылетело. Если повезло - сохраняешь coverage и загружаешь его в IDA Pro.

    Впрочем, DynamoRIO тоже работает нестабильно.
     
    M0rg0t нравится это.
  4. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    Надо было на расте ее писать, а не на жабаскрипте, тогда бы не глючило :)
     
    UbIvItS нравится это.
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Ну это же не элитный спецовый визор, а какая то обычная дби, все дби - не элитные и не спецовые, поэтому работают нестабильно.
     
  6. eshmereum

    eshmereum New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2020
    Сообщения:
    23
    Я ничего не имею против того, чтобы считать, что чем высокоуровнее код, тем более он нетрушный, но в данном случае, думаю, дело в DBI-движке, который
    использует Frida. Я немного изучил DBI и вообще средства инструментации/трассировки. Нормальных DBI, походу, нет. Но об этом, наверное, напишу в другом треде.

    Если тебе понравится качество инструментации, которое предлагается Frida (я про баги), то
    проблем, думаю, нет будет чтобы отсечь ту часть, которая про питон и использовать только DBI.
    Но не факт, что это лучше, чем DynamoRIO
     
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    У фриды свой "мотор", или у них QDBI под капотом?
     
  8. eshmereum

    eshmereum New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2020
    Сообщения:
    23
    Нет, у них всё своё. Модуль называется frida-gum. Там есть специальный stalker-метод. https://github.com/frida/frida-gum/blob/master/gum/gumstalker.h

    Там API уровня типа
    Код (Text):
    1.  
    2. void (* transform_block) (
    3.   GumStalkerTransformer * self,
    4.   GumStalkerIterator * iterator, GumStalkerOutput * output);
    5.  
    А QDBI не поддерживает многопоточность, см. https://qbdi.quarkslab.com/
     
  9. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.574
    eshmereum, так все таки - можно там взять бинарник, если да, то какой? В секции релизов на гитхабе много ехе для винды. Есть ли там что-то вида frida.exe, т.е. чтобы взял и запустил и оно трейсило? Или обязательно через PIP ставить?

    то, что глючное, плохо конечно; но мне малварь трейсить, мб справится. Просто нужно 2 критерия - а)портабл (тут в описании было где-то) б) на яваскрипт можно кодить. Потому и смотрел на этот инструмент.
     
  10. eshmereum

    eshmereum New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2020
    Сообщения:
    23
    Frida, которая ставится через pip - это питоновый биндинг + несколько готовых питоновых скриптов типа discoverer.py (хотя они запускаются exe-шниками frida-discover.exe и т.д.), + либы, написаные на C. За инструментацию отвечает та из них, что называется frida-gum.
    В ней есть вышеупомянутый stalker. И у неё есть собственные биндинги к JS, но тебе, вероятно, потребуется v8 чтобы их собрать.
     
    M0rg0t нравится это.
  11. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Вроде у них QuickJS используется, не? V8 слишком жирно было бы инжектить в другие процессы.
     
  12. GRAFik

    GRAFik Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2020
    Сообщения:
    352
    Так, а что - свой визор не только у Инди, но еще и у Rel'а есть?
    Иначе, чем объяснить его такую неосведомленность по вопросам DBI?
    В частности, по Frida. Или это такой тонкий троллинг? =))
    Фрида, как я понял, написана на Си, но так же использует в своей работе и V8,
    который она инжектит в исследуемый/целевой процесс и который выполняет написаный user-js-code.
    V8 - так же, обеспечивает доступ ко всей памяти процесса и формирует канал приема/передачи с исследуемым приложением, в реалтайме.

    Rel, пользуясь случаем - хотел поблагодарить вас за информацию ->про Frida<-.
    С нее (информации), собственно, все и началось: сначала Моргот заинтересовался,
    затем eshmereum, немного "развеял туман" (правда о-о-о-чень туманно =) ).
    Я, вот тоже, решил наконец с Frida разобраться, а то все она мне казалась,
    какой-то замороченой (Python, JS, C).
     
  13. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
  14. GRAFik

    GRAFik Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2020
    Сообщения:
    352
    Спасибо, Rel, за информацию - век живи, век учись... ))
    У меня просто была устаревшая информация.
    Да и eshmereum немного сбил с толку,
    Я (в смысле он) мол, более-менее подробно изучил все DBI и пришел к выводу, что:
    Все DBI - полный отстой...
    Мне, кажется, что вот у eshmereum - точно есть какой-то свой визор.
    Причем, написанный на чистом машинном коде.
    У Инди на ассемблере, а у eshmereum - на голых инструкциях процессора. =))
    Ну т.е. на порядок круче того, о котором знает, по-моему, даже Лукашенко. =))
     
  15. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    GRAFik,

    Надеюсь ты сможешь этой дичью таки крутнуть простейший блокнот и найти строки для начала, недели хватит на решение :sarcastic:

    > Все DBI - полный отстой...

    Как же вы оценили, если дий не паблик ?

    Да, все дби это глючные костыли. Пин разве что как то работает, но он тоже не паблик - трансляцию не отследишь просто потому что такую сборку выкатили разрабы.

    > Мне, кажется, что вот у eshmereum - точно есть какой-то свой визор.

    На скриптах ?
    У меня пару лет ушло на отладку, покуда это стало абсолютно стабильно работать. Но это не скрипты, а дно нэйтив. Скриптами такое сделать невозможно. Так что тебя обманули.
     
    Последнее редактирование: 7 фев 2021
    M0rg0t нравится это.
  16. GRAFik

    GRAFik Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2020
    Сообщения:
    352
    Инди, по-моему, вы немного неправильно меня поняли.
    Шутки были не в ваш адрес или вы и eshmereum - это один и тот же человек? =))
    Ну я вам встречный, подобный вопрос могу задать по поводу простейшего, штатного калькулятора из Win XP sp2. Сможете найти там начало и конец какой-нибудь математической функции, которая принимает два аргумента, типа возведения в степень и т.п. Чтобы можно было ее скопировать куда-нибудь и она бы работала (вычисляла бы степень числа или что-то подобное). Могу дать вам две недели, но думаю, что ваш визор "сольется" =)). Ну как Инди - по рукам? =))
     
  17. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    GRAFik,

    > Сможете найти там начало и конец какой-нибудь математической функции

    Это всё было решено тысячи раз, для этого был создан инструмент. Был форум клаб, есть его дамп, там решалось автоматикой всё подряд что можно было решить вот простой пример https://archivevx.net/exelab/f/pages/action=vthread&forum=1&topic=25888&page=0.html

    Мне неначем сливаться, это на столько вылизанные техники, что даже смешно что какой то нуби ничего не понимая пытается это обсудить. Ты можешь либо попросить обьяснить, тк самостоятельно ты не поймёшь, либо дальше со своими понтами в лес идти и гугл ничем не поможет.
     
  18. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Типичный слив типичного спеца, нечему удивляться, этого следовало ожидать.
     
  19. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Rel,

    В чём же слив, покажите как вы решаете блокноты автоматикой. VMM там есчо кучи технологий на простом примере. Вы все, покажите решение.
     
  20. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Ну поляки показывали на видео, как они малварь гоняют на своем гипервизоре, который публичный и с открытым исходным кодом. В его существовании никто не может усомниться. В отличии от элитных визоров. В статье, ссылку на которую я выкладывал, после которой ей заинтересовался Моргот, было показано, как малварь гоняется Фридой. Она тоже является публичным проектом с открытыми исходными кодами, так что тоже существует, в отличии от элитных визоров.
     
Статус темы:
Закрыта.