· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› как найти DLL в памяти... походу какая-то защита стоит

Посл.отвђт Сообщенiе


Дата: Окт 14, 2004 19:31:34

Требуется найти загруженную DLL в памяти. Чтобы поставить там брейкпоинт в SoftIce... пробовал найти просто по комбинации символов - при любой попытке искать сочетание символов из этой DLL SoftIce виснет намертво. При поиске любых других последовательностей все ок... Ну ладно думаю.. Сейчас я ее найду.. Запускаю TaskInfo... и что я вижу... базовый адрес библиотеки 10000000 - короче лажа полная.. естественно по этому адресу ничего не обнаружилось... с такими-же подставными адресами видятся и все остальные DLL относящиеся к этой проге.. Так как-же мне найти РЕАЛЬНЫЙ адрес куда она загружается ??? может есть более продвинутые проги позволяющие просматривать адреса загруженных модулей


Дата: Окт 15, 2004 12:44:33 · Поправил: LocTb

"...базовый адрес библиотеки 10000000 - короче лажа полная..."
интеррресные соображения- можно поподробнее откуда?


Дата: Окт 15, 2004 19:02:07

Ein: внедряемся в чужой процесс
Zwei: Делаем LoadLibrary (она типа уже загружена - ну и пофиг, нам только хэндл нужен)+GetProcAddress любой функции, экспортируемой из DLL
Drei: пишем результат в файл, отправляем сообщением на деревню дедушке, создаем глобальный атом - короче, публикуем эти четыре байта в любом месте, откуда их потом можно будет достать. И достаем.


Дата: Окт 17, 2004 11:22:03 · Поправил: valterg

CyberManiac
Твой вариант не годится - ему брейк нужно,
а не коды из DLL. Хендл достается гораздо проще.
Он же в SoftICE. Просто он "не наступил"
на грабли :-) Выдает PROC, затем ADDR
и наслаждается видом DLL в 10000000 !
Можно еще WinHEX использовать или PROCDUMP.


Дата: Окт 17, 2004 13:06:29

А чем тебя не устраивает команда софт айса EXP?
Если это твоя dll то занеси её в список загружаемых софт айсом dll-ок и перезагрузи машину.


Дата: Окт 18, 2004 14:45:48

ProgramMan
„А чем тебя не устраивает команда софт айса EXP? “
Ты не понял. Я SoftICE нормально знаю.
А вот Atomic "плавает".
Он хочет отлаживать DLL в чужом приложении
( если я правильно понял ), но не может ее найти.
Если он не может найти DLL в запускаемом EXE,
ну "тогда я не знаю....". Хотя DLL может
и динамически грузится. Тогда твой способ
без моего все равно не подойдет.
=============================
„базовый адрес библиотеки 10000000 “
А такой адрес вполне нормальный. Обычно
его именно для динамических наверное и выбирают,
чтобы далеко от программы ( 40000) и на залез
на системные DLL (7e......).


Дата: Окт 18, 2004 18:03:39

Вобщето я спрашивал у Atomic :)


Дата: Окт 19, 2004 14:06:24

А ему не надо. И откуда было видно, что у него
спрашивал. Не ленись тюкать на имени спрашиваемого :-)
А с exp без addr не пройдет, если это не системная
библиотека. Я в свое время много времени из-за этого потратил. Вот только недавно и узнал про контекст.
Подвела привычка работы в ДОС - там адресное
поле общее...


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.064