|
|
| Посл.отвђт | Сообщен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 |