сперва извенюсь за топик - это всё начто нахватило фантазии ) теперь к сути проблеммы При загрузке динамической библииотеки (и её выгрузке) автоматически вызывается процедура входа, это тот код на который указывает директива end. Часто нет необходимости в подобном коде и я в основ при сознании длл оставлял его пустым, однако вот возникла необходимость, более того код нужно както отлаживать но вот в этом и вопрос, я незнаю как... кпримеру имею вызов LoadLibrary, могу перескачить через него (исполльзую OllyDbg там это F8) однако в этом случае я пропущу тот стартовый код который будит выполнен при загрузке длл. как мне поступить в данном случае, начал ковырять LoadLibrary, это меня завело в ntdll.dll:LdrLoadDll. Буду ковырять и дальше однако возможно ктото подскажет способ полегче?
Ничего подобного. Такое произойдёт только если использовать LoadLibraryEx с флагом LOAD_LIBRARY_AS_DATAFILE, но это вообще отдельный случай. Про директиву end не понял.
ну так какже мне попасть на главную процедуру длл? я имел ввиду что после end стоит (во всяком случае в masm32) указатель на точкку входа в длл - главная процедура длл
В настройках ollydbg выставь "break on new module (DLL)", затем как брякнется - на нужном модуле нажми правой кнопкой и выбери "follow entry", потом F2 на первой команде и запуск (F9)
Кстати, так приходится делать в x64 с 32битными отладчиками, т.к. они трапаются где-то в недрах ядра, но никак не на EntryPoint.
всем большое спасибо, помогло ) 2 Quantum - знаю )) кстате, вот порылся, оказывается в конечном счёте все эти LoadLibrary's сводятся к LdrLoadDll, думаю стоит юзать её, правда пока чтото непалучается... в крайнем случае можно юзать LoadLibraryExW только строку ложить в юникоде, во всяком случае мне кажется так можно выиграть во времени...
а я специально loaddll для OllyDbg переписывал, чтобы он через LoadLibraryEx грузил =) hxxp://usar.pp.ru/loaddll.for.OllyDbg.rar