Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ работа с чужими Dll

Автор: kvazzi 16.04.2006 23:16

Как прочитать секцию импорта чужой библиотеки, выдрать описание функций, которые в ней содержатся и их описание, что бы потом вызвать эти функции из своей оболочки с различными параметрами. cool.gif

Автор: Malice 17.04.2006 0:23

Ну наверное не импорта, а экспорта. Выдрать можно только названия функций, с параметрами плохо, придется изучать в отладчике, что и как передается.

Автор: hardcase 17.04.2006 0:38

Для начала нужно узнать, опубликованы ли соответствующие модули экспорта из этой DLL.
Если их не обнаружили, то, неплохо бы узнать, чем была скомпилирована DLL, об этом может рассказать PEiD (http://peid.has.it/), если на Delphi - то можно декомпилировать её используя DeDe (взял у буржуйского сайта - придётся искать руками).
Чтобы посмотреть секцию экспорта можно использовать TDUMP (консольный, идёт вместе с Delphi) или использовать ShowDep (оконный - где взял, не помню, он расскажет о статических зависимостях модуля и покажет тоже самое, что и TDUMP).
Т.к. библиотеки, скомпилированные в x86 машинный код не содержат информации о формальных параметрах, то придётся самому анализировать в CPU окошке, что требуется каждой функции.
В случае же, если библиотека собрана в MSIL - то можно параметры узнать соответствующей тулзой, которая лежит (не помню в каком каталоге) рядом с VS.NET

Автор: FreeMan 18.04.2006 12:48

Неплохо ИДА параметры расставляет.