Сейчас на форуме: igorcauret (+8 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Хитрая защита + IDA + x64 |
Посл.ответ | Сообщение |
|
Создано: 04 июля 2014 16:12 · Личное сообщение · #1 Всем привет. Изучаю защиту одной программы. 1. Была защита на обнаружении дебагера. Обошел. 2. Сейчас пытаюсь отловить где генериться пароль для дальнейшего действия. Нет ключей в открытом виде, нет стандартных функций (типа сравнений различных, месседж боксов и т.д.). Создатель защитился сполна, моя задача попытаться обойти защиту. Во время заполнения поле ключа (Edit) смотрю что появляется в памяти. И нахожу куда. Далее из того куска копируется в несколько разных мест данный ключ. Далее то подгружаются, то выгружаются модули. Дошел до того места где из некоего магического числа получается хеш (md5) и далее О даже появляется RtlCompareMemory, но сравнивается, на мой взгляд какой-то бред. Скорее для отвода глаз сделано. Дело в том, что чтобы дойти до хеша и сравнения пришлось тыкать далее, далее, далее, далее целый день. Вопрос: Есть ли возможность сделать брейк на загрузке конкретного модуля? И, желательно, далее на выполнении конкретной функции? (Знаю, что есть брейк на уже загруженный модуль, но мне нужно на не загруженный). Спасибо. ![]() |
|
Создано: 04 июля 2014 17:03 · Личное сообщение · #2 Debugger options... - Suspend on library load/unload ----- старый пень ![]() |
|
Создано: 04 июля 2014 18:16 · Личное сообщение · #3 Скрипты в иде как бы есть. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 04 июля 2014 18:47 · Личное сообщение · #4 |
|
Создано: 05 июля 2014 22:31 · Личное сообщение · #5 Спасибо, огромное! Всеми тремя комментариями воспользовался. 1. Я попробовал Suspend on library load/unload отлично работает. Единственный недостаток в том, что подгрузка идет непрерывно (загружается и выгружается). И отловить так и не хватило терпения. 2. Решил всё же скрипты попробовать для этого и. 3. Пришлось полистать ссылку на доку. Набрел на список функций (https://www.hex-rays.com/products/ida/support/idadoc/162.shtml). Кажется, что это должно подойти GetEventModuleName. Буду проверять загружаемые модули. При нужном я хочу остановить работу программы. Правильно ли я выбрал функцию GetEventModuleName для задачи выловить нужное имя модуля? Или есть решение лучше? ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Хитрая защита + IDA + x64 |