Т.е. трассировка у Фриды по инструкциям ассемблера - невозможна, как допустим в ПИНе? Ну и соответственно приходим к выводу, что многие вещи, которые возможны с ПИНом - во Фриде невозможны. Я правильно вас понял?
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. Нет теории, алгоритмов ничего.
Позволю себе продолжить тему. Frida нормальная штука, недавно писал SSL Unpin для андроида, работало отлично. Думаю под вин можно тоже адаптировать для работы с памятью, gumstalker ведь на аллокации памяти нацелен.