Русский / Russian English / Английский

Сейчас на форуме: galenkane
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MC707
Спасибо за подсказку! Помогло!
 eXeL@B —› Основной форум —› Вопрос по отлову вызывов DLL

Видеокурс ВЗЛОМ