Т.е. трассировка у Фриды по инструкциям ассемблера - невозможна, как допустим в ПИНе? Ну и соответственно приходим к выводу, что многие вещи, которые возможны с ПИНом - во Фриде невозможны. Я правильно вас понял?
UbIvItS, Каких патчей и куда ? > Т.е. трассировка у Фриды по инструкциям ассемблера - невозможна Там нет её как и любой иной обработки, как системной так и базовой для дби. В сурках этого нет, почему ты решил что там есть что либо такое и вообще откуда это откопал ? Тебе же сказали что это для работы в линях со скриптами, что не ясно ?
Ну если бы было все ясно, то и треда по Фриде не было. Т.е. все о чем речь в этой статье - это все про Линукс? =)) (Anatomy of a code tracer) https://medium.com/@oleavr/anatomy-of-a-code-tracer-b081aadb0df8
патчи в исследуемый код, дабы изменять его поведение. ровно для того же применяется и бин трансляция.
UbIvItS, не подумайте, что я вас хочу на чем-то подловить или уличить в отсутствии, каких-либо знаний. Все знать невозможно. Я хочу узнать ваше личное мнение. Опираясь на статью по моей ссылке, можно сказать, что с помощью Фриды возможна трссировка бинарника на уровне ассемблерных инструкций в Windows? Тем более, что там присутствует дизассемблер. Ведь у вас же все равно есть какое-то общее представление о моем вопросе? Хотя бы даже на каком-то интуитивном уровне. А то бывает, что ты не прислушался к какому-либо совету или мнению, угрохал кучу времени на эксперименты, а потом думаешь, что зря не прислушался к советам более опытных людей. =)) P.S. Я вообще, считаю, что бин. транс. нужна больше в VM, ну или если ты собрался инструментировать какую-либо опасную малварь. А так, от нее одни тормоза. Пусть кто-нибудь мне докажет обратное. =)) P.P.S. С другой стороны в статье говорится о том, что создается дополнительный участок памяти в которую копируются инструментируемые данные. Формируются в нужном порядке и выполняются, а участок с оригинальными данными бинарника вообще не используется. Т.е. как бы по сути создаеся прообраз VM. Вот как дать формулировку данному явлению? Я думаю, DBI. Если заблуждаюсь, пусть кто-нибудь поправит. =))
GRAFik, я фридой не занимался, однако любой мало-мальски приличный инструмент можно в разумной степени автоматизировать в рамках сабжа между бт и дебагером особой разницы нет == чтобы пересобрать интересующий участок кода, его надо отследить сначала чрез дебагер и/ль эмуль. дебагер как-бе менее надёжный инструмент, пч пациент может пытаться гадить бряки, но есть довольно примитивно-эффективный способ борьбы == исследуемый код надо переводить в сугубо однопоточный режим, что явно обнародует его защитные участки. а бряк можно усиливать таймером == то бишь обрабатываем либо сам бряк, либо его таймаут
Чувак, я реально не знаю как объяснить что frida - это проект, состоящий из frida-core, frida-gum и других модулей. Frida включает gum stalker. О каких, к черту, сырках ты вообще говоришь?
eshmereum, а вы с Фридой только через Питон работали? И еще интересно, разбирались вы с этим нет? Может где-то читали? Вот допустим ты скомпилировал в СИ frida-gum модуль, скрипты JS так же как в Питоне можно в аргументах подключать или они сразу должны вместе с исходником вшиваться?
Rel, а мне знаете, что стало интересно? Вы как-то писали в каком-то из постов, что применение JS-скриптов во Фриде вызывает у вас ряд вопросов, но типа, разработчик барин, так ему захотелось. И, что лучше бы JS заменили Питоном. А я подумал, что может дело в движке V8, который на момент первого релиза Фриды существовал? Стало интересно, а на Питоне есть что-то похожее? Может оно и было, но проигрывало в скорости V8? Ничего ни где, не читали, не слышали? Может у вас есть какие-то свои предположения?
> я реально не знаю как объяснить что frida - это проект, состоящий из frida-core, frida-gum и других модулей. По ссылке выше есть какой то треш может быть даже пародия на бт. Но до этого линка небыло я смотрел лишь frida-core а не плагины какой то gum". frida-core-master не содержит никакой системной обработки. Обьснить можно и показать просто - бинарь рабочий выложить, что бы увидеть как это работает, что не долго пол часа займёт. Другой вопрос как это собрать что бы посмотреть, у них для загрузки это комовская длл frida-clr-14.2.12-windows-x86.dll и что с этим делать хз
Rel, Давно это делается, но не визорами а полноценными вирт машинами - там мод значения не имеет. Вот этот человек с rohitab https://twitter.com/j00ru нашёл большое количество системных ошибок, там в основном null-deref, mem-disclosure etc, те ошибки которые можно найти не алгоритмическим путём. Тоесть вирта крутит кернел и ищется заданное условие. Это самые простые ошибки, так уязвимый стековый буфер не найти, для этого нужны сложные алго, я почему у тебя и спросил недавно. Реализовать такое даже в теории врядле возможно, задача сводится в наследованию выборки, та самая задача которую я пытался реализовать по защите от OP. Нет теории, алгоритмов ничего.