Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

Как узнать параметры функций в DLL?   Найти похожие ветки 

 
Vorobyev Sergey   (2003-09-11 09:46) [0]

Привет всем!
Есть одна DLL-ка (знаю ее предназначение),
получил список функций..
Хочу использовать в своем проекте,
однако не знаю как узнать, какие параметры ей требуются..

Нет необходимости знать какого типа параметры (integer, PChar,DWORD и т.п., по-моему это и невозможно),
достаточно будет информации хотя бы сколько байт параметров передается в функцию, чтобы не вызвать AV, далее буду экспериментировать с параметрами..
---
Спасибо


 
KSergey ©   (2003-09-11 10:02) [1]

1.Кол-во параметров узнать так же невозможно, кроме как дизассемблируя и изучая код экспортируемых ф-ций.
2.Этот вопрос задавался последние 3 дня по разу - точно. Читайте иногда форум.


 
Vorobyev Sergey   (2003-09-11 10:24) [2]


> 2.Этот вопрос задавался последние 3 дня по разу - точно.
> Читайте иногда форум.


Специально просмотрел форум за последнюю неделю, нашел только вот это ( http://delphimaster.net/view/1-1063049854/), но здесь же нет конкретного ответа на вопрос..
Я так же перерыл инет (даже не русскоязычный), в основном все складывается к тому, что параметры узнать невозможно, кроме как дизассемблируя

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


Ну допустим, я с этим смирился и начал дизассемблировать,
но тогда на что смотреть, чтобы определить параметры?
Есть какие-то общие рекомендации?
Может быть смотреть на POP, PUSH или еще что?
Или все зависит от среды, в которой разрабатывалась DLL?
Тогда наверняка есть свои рекомендации для DLL на Delphi, Visual C и т.п.

А?


 
Digitman ©   (2003-09-11 10:39) [3]


> Или все зависит от среды, в которой разрабатывалась DLL?


зависит. прямым образом.


> наверняка есть свои рекомендации для DLL на Delphi, Visual
> C


скорее рекомендации в 1-ю очередь будут иметь прямое отношение к соглашениям о межъязыковых вызовах, нежели к средам программирования и компиляторам в их составе

те же Delphi и Visual C , имея определенные (и различные) соглашения о вызовах по умолчанию, тем не менее позволяют в декларации подпрограмм перекрыть умалчиваемые соглашения явно указываемыми, если разрабатываемый программный продукт предназначен для использования в каких-то конкретных иных средах программной разработки

инф-ции о тех или иных соглашениях для тех или иных эксп.вызовов DLL не содержит, и получить ее можно только анализом дизассемблируемого кода библ-ки

зная отличия в тех или иных соглашениях о вызовах, можно по результатам анализа сделать заключение о том, какие параметры в каком порядке и каким образом должны передаваться в тот или иной DLL-вызов, равно как и тип/размерность и порядок порядок получения результата, если таковой предусмотрен


 
KSergey ©   (2003-09-11 10:48) [4]

В книжках по Си соответстующие главы называются "соглашения о вызовах (передаче параметров)". В книгах по другим языкам - аналогично.

А вот вопрос "Ну дизассемблировал, а что дальше" - уж простите, но ответиьт можно одно: смотреть внимательно. Книжки читать. Как тут конкретно сказать??



Страницы: 1 вся ветка

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
14-71895
Developerr
2003-09-02 18:37
2003.09.22
Кто-нибудь использует F1Book версии 6.0 и выше?


3-71502
LexaVV
2003-09-01 13:19
2003.09.22
DLL и MS SQL 2000


4-71995
__Ed__
2003-07-17 19:33
2003.09.22
Как отловить момент создания нового окна?


1-71585
greenrul
2003-09-05 15:19
2003.09.22
Как узнать, нажата ли в данный момент...


6-71815
shelest
2003-07-24 15:33
2003.09.22
Поиск файлов на отделбном компьютере в локальной сети.