Сейчас на форуме: igorcauret (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Хитрая защита + IDA + x64
Посл.ответ Сообщение

Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 июля 2014 16:12
· Личное сообщение · #1

Всем привет.
Изучаю защиту одной программы.
1. Была защита на обнаружении дебагера. Обошел.
2. Сейчас пытаюсь отловить где генериться пароль для дальнейшего действия.
Нет ключей в открытом виде, нет стандартных функций (типа сравнений различных, месседж боксов и т.д.). Создатель защитился сполна, моя задача попытаться обойти защиту.
Во время заполнения поле ключа (Edit) смотрю что появляется в памяти. И нахожу куда.
Далее из того куска копируется в несколько разных мест данный ключ.
Далее то подгружаются, то выгружаются модули.
Дошел до того места где из некоего магического числа получается хеш (md5) и далее О даже появляется RtlCompareMemory, но сравнивается, на мой взгляд какой-то бред. Скорее для отвода глаз сделано.

Дело в том, что чтобы дойти до хеша и сравнения пришлось тыкать далее, далее, далее, далее целый день.

Вопрос:
Есть ли возможность сделать брейк на загрузке конкретного модуля? И, желательно, далее на выполнении конкретной функции?
(Знаю, что есть брейк на уже загруженный модуль, но мне нужно на не загруженный).

Спасибо.



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 04 июля 2014 17:03
· Личное сообщение · #2

Debugger options... - Suspend on library load/unload

-----
старый пень


| Сообщение посчитали полезным: belbash


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 04 июля 2014 18:16
· Личное сообщение · #3

Скрипты в иде как бы есть.

-----
Stuck to the plan, always think that we would stand up, never ran.


| Сообщение посчитали полезным: belbash

Ранг: 33.9 (посетитель), 22thx
Активность: 0.030
Статус: Участник

Создано: 04 июля 2014 18:47
· Личное сообщение · #4

https://www.hex-rays.com/products/ida/support/idadoc/

| Сообщение посчитали полезным: belbash

Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 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
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати