Помощь - Поиск - Пользователи - Календарь
Полная версия: работа с чужими Dll
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
kvazzi
Как прочитать секцию импорта чужой библиотеки, выдрать описание функций, которые в ней содержатся и их описание, что бы потом вызвать эти функции из своей оболочки с различными параметрами. cool.gif
Malice
Ну наверное не импорта, а экспорта. Выдрать можно только названия функций, с параметрами плохо, придется изучать в отладчике, что и как передается.
hardcase
Для начала нужно узнать, опубликованы ли соответствующие модули экспорта из этой DLL.
Если их не обнаружили, то, неплохо бы узнать, чем была скомпилирована DLL, об этом может рассказать PEiD (http://peid.has.it/), если на Delphi - то можно декомпилировать её используя DeDe (взял у буржуйского сайта - придётся искать руками).
Чтобы посмотреть секцию экспорта можно использовать TDUMP (консольный, идёт вместе с Delphi) или использовать ShowDep (оконный - где взял, не помню, он расскажет о статических зависимостях модуля и покажет тоже самое, что и TDUMP).
Т.к. библиотеки, скомпилированные в x86 машинный код не содержат информации о формальных параметрах, то придётся самому анализировать в CPU окошке, что требуется каждой функции.
В случае же, если библиотека собрана в MSIL - то можно параметры узнать соответствующей тулзой, которая лежит (не помню в каком каталоге) рядом с VS.NET
FreeMan
Неплохо ИДА параметры расставляет.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.