Форум: "Основная";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
ВнизКак узнать параметры функций в 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c