Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio, Dart Raiden, Alf (+4 невидимых)

 eXeL@B —› Основной форум —› Вопрос по отлову вызывов DLL
Посл.ответ Сообщение

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

Создано: 23 ноября 2004 01:48
· Личное сообщение · #1

Народ может кто подскажет:
1. Защита распологается во внешней DLL.
2. Обращение к функциям защиты идет не через импорт, а через смещение.
3. Проверки осуществляются несколько раз по ходу проги.
Вопрос:
Как отловить вызов DLL если никаких очевидных действий программы нет.

P.S. - Про вызов LoadLibrary и т.п. просьба не говорить - уже проверенно!



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 23 ноября 2004 02:16 · Поправил: nice
· Личное сообщение · #2

OzArt
Делаешь Alt+m -> F2 на секции кода Длл и смотришь, а если знаешь смещение в Длл воткни в самом начале int3

-----
Подписи - ЗЛО! Нужно убирать!




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

Создано: 23 ноября 2004 04:34
· Личное сообщение · #3

nice пишет:
Делаешь Alt+m -> F2 на секции кода Длл и смотришь


Речь идет конечно же об SoftIce?



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 23 ноября 2004 04:57
· Личное сообщение · #4

OzArt
конечно об OllyDbg
а в сайсе фтыкай Int3
Попробуй ещё GetProcAddress должно помочь

-----
Подписи - ЗЛО! Нужно убирать!




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

Создано: 23 ноября 2004 05:31
· Личное сообщение · #5

Я не вполне понял, что смотреть...
А на счет точки входа в ДЛЛ - она открывается один раз и дальше отследить где и когда происходит к ней обращение не представляется возможным. вообще очень заковыристая защита!



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 23 ноября 2004 05:46
· Личное сообщение · #6

OzArt
1. Берешь замечательный отладчик OllyDbg (http://home.t-online.de/home/Ollydbg/)
грузишь в него свою программу, жмешь Alt+m
находишь в списке Длл, встаёшь на секции кода -> F2. Отпускаешь программу по Ф9, и Олька тебе покажет откуда ноги растут.

2. Ставишь брейкпоинт в Ольке или в софтайсе на апи ф-ию GetProcAddress думаю именно с её помощью получают адрес твоей длл и смещения и ждешь пока вывалимся в программу.

-----
Подписи - ЗЛО! Нужно убирать!




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

Создано: 23 ноября 2004 07:40
· Личное сообщение · #7

К сожалению не в IDA не в OllyDbg эта сволоч не отсвечивает, сидит себе где-то в качестве строки ресурса название модуля, когда нужно загружается по стартовому адресу и сохраняется в какой нибудь локальной переменной. Когда нужно относительно этого адреса вычисляется адрес нужной функции и ... Вуаля!!!
По этому и отловить сложно, было бы просто - уже давно бы сам сделал, но ...



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 23 ноября 2004 23:08
· Личное сообщение · #8

OzArt
ну тогда только мапит файл в адресное пространство, чудес не бывает ;)
выкладывай гденить посмотрим

-----
Подписи - ЗЛО! Нужно убирать!




Ранг: 136.3 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 24 ноября 2004 00:05
· Личное сообщение · #9

OzArt
Дык е-мое...
В OllyDbg никто вроде не отменял event по загрузке dll'ов.
Alt+O, закладка Events. Ставим пимпу на "Break on bew module (DLL)".
Дальше по ситуации.



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

Создано: 24 ноября 2004 02:07
· Личное сообщение · #10

MC707
Спасибо за подсказку! Помогло!


 eXeL@B —› Основной форум —› Вопрос по отлову вызывов DLL
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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