Список импортированных функций из PE-файла, если dll явно связана с помощью LoadLibrary

У меня есть требование перечислить все импортированные функции путем разбора PE. Если exe или dll неявно связывает dll (используя библиотеку импорта), я могу получить все вызванные функции из таблицы импорта. Но если какая-либо dll или exe явно связывает dll (используя LoadLibrary и getProcAddress), то в таблице импорта не будет записи для этой dll, которая связана явно.

Пожалуйста, дайте мне знать, как получить список всех внешних функций, вызываемых (используя getProcAddress), когда dll загружается явно.

Спасибо и С уважением, Киран


person Kiran Kumar R    schedule 07.03.2012    source источник


Ответы (1)


Надежного на 100% способа нет. По сути, вы можете настроить что-то, чтобы отслеживать, какие параметры передаются LoadLibrary и GetProcAddress во время его работы, чтобы увидеть, что вы найдете, но вы должны знать, что выбор, сделанный пользователем во время выполнения, может и будет влиять на то, что отображается.

Он также может меняться в зависимости от таких вещей, как содержимое файлов конфигурации, файлы, найденные в произвольном каталоге и т. д. (например, загрузка всех DLL в каталоге X и вызов initialize_plugin() в каждом).

person Jerry Coffin    schedule 07.03.2012