Нужно закодить простой плагин для автоматизации Цель: находить места выхода из виртуальной машины x86_x64 (пример code virtualizer от oreans.com) Алгоритм такой - найти все инструкции pushfq в .exe (в dll не нужны по большей части) - поставить на них точки останова - Run to user code - прыгнуть на точку останова (pushfq) (мы внутри ВМ) - снять все точки останова - поставить бряк на .text секцию (где лежит весь незащищенный код) - прыгнуть к незащищенному коду, ИССЛЕДОВАТЬ (мы снаружи ВМ) (после прыжка, бряк снимается) - врубить заново все точки останова - повторить действия. Кодил плагин, но проблема на повторной установке бряка на секцию, просто падает. Чем поможете комрады? --- Сообщение объединено, 22 янв 2021 --- Кодом плага в лс могу поделиться
galenkane, Эти задачи по списку не отладчиков решаются, а dbi. В фичах этого отладчика не указано что используется бинарная трансляция, как это умеет к примеру ида(pin etc), раз речь про отладку. Это значит что юзер отладчик будет трассировать весь процесс, твой плаг будет эти события обрабатывать. Это слишком тормозно криво и ничего так не прокрутишь, любой протектор палит системную отладку. Тебе проще самому написать трассировку, довольно примитивно - трассируешь, тогда первые 5 пунктов не нужны(через отладчик ты делаешь тоже самое), тк есть поток всех инструкций. Так же отменяет 6-й пункт, так как известен адрес каждой инструкции, можно соотнести к какому то диапазону секции например. > - прыгнуть к незащищенному коду Не знаю что значит, трассировка полная, это не имеет смысла. > - прыгнуть на точку останова (pushfq) Её найти нужно, для этого лишь один метод есть - из трассы получить выборку по данным и определить первую абсолютную, а это единственный общий метод https://archivevx.net/exelab/f/pages/action=vthread&forum=6&topic=25429&page=0.html
Изобретать коллайдер не нужно мне, достаточно всех средств, что предоставляет отладчик. Код еще исследовать придётся, это достаточно удобно в x64dbg. --- Сообщение объединено, 22 янв 2021 --- Собственно вот пример чего хочется достичь по итогу..
galenkane, Такое с нуля за час пишется. Ну если с коденгом трудности, тогда да, вариантов нет кроме как использовать отладчик, заколхозить(как твой описанный не верный метод решения), на что времени уйдёт куда больше чем пару часов, удачи конечно интересно что получится давно таких извратов не видел
Но пример на видео сделан посредством AHK - Run to user code - F9 - Ctlr+Z - text_section_bp plugin (Ctrl+Q) - F9 - Ctlr+X - F1 (run macro) --- Сообщение объединено, 22 янв 2021 --- Ой не нужно мне тут обесценивать)
galenkane, > Автоматизация в x64dbg > Решено через плагин к иде wtf ? Зачем вирта для ручной отладки, если всё равно запалят по таймингу если есть антидебаг. Какие то не вполне адекватные действия. Причём у иды уже давно есть трансляторы(dbi) и не один.
не могу понять что вы имеете в виду, посмотрите скрин в теме там все наглядно видно как происходит утечка важной инфы