Допустим, есть адрес указывающий на код загруженный из dll библиотеки. Как можно узнать имя библиотеки (т.е., имя dll и, желательно, путь к нему)?
agent007 А ты спецификацию прочти=) В экспорте должно быть поле где указано имя длл. ртфм, как говориться. Поюзай ПЕтулз. Выдержка: Код (Text): [5.1] Таблица экспорта (Export Directory Table) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Информация экспорта начинается с Export Directory Table, которая описывает требуемую экспортную информацию. Export Directory Table содержит адресную информацию используемую при развязке настраиваемых ссылок в внешние точки входа внутри программы. Export Directory Table ~~~~~~~~~~~~~~~~~~~~~~ +=====+=======+=======================+=====+=================================+ | | Size | |Com- | | |Base | or | Name Of field |ments| Brief description | | | Type | | | | +=====+=======+=======================+=====+=================================+ #################[b]ВОТ[/b]#################################### +-----+-------+-----------------------+-----+---------------------------------+ | 0Ch | DWord | Name RVA | No | RVA строки указывающей на имя | | | | | | нашей библиотеки | +-----+-------+-----------------------+-----+---------------------------------+ #############################################################
Кстати, если говорить об этом поле в таблице экспорта, то в документации про него сказано мало. Какие есть соображения о цели его существования? И обязано ли оно быть идентичным имени длл? Из опыта- у меня и с другим содержимым этого поля длл грузились, но вот на чём это может сказаться? Да и вообще, это поле рудимент?
в общем... пробегаемся в PEB по модулям, сравниваем адрес загрузки -> получаем имя длл, в юникоде правда.... Можно таким образом по всем процессам прогуляцо
[опередил)] GetModuleFileName на сколько я понял дёргает из peb'a и тому подобных структур. /ну у кого-нибудь есть соображения по поводу предыдущего моего поста?/
я знаю, что я нарк, но: PEB->LoaderData->InLoadOrderModuleList. аналог GetModuleFileName, но с приключениями на свои вторые 90 =))