PE-формат, dll\'ки и экспорт из них...
Дело в том, что мне надо определить параметры принимаемые функциями, которые экспортирует ДЛЛька. Может кто-то знает как это попроще сделать?
IMAGE_EXPORT_DIRECTORY хранится только адрес на функцию.Аргументы передаются через стек.
Функция "знает" что ей передают и сама извлекает параметры из стека.
http//hi-tech.nsys.by8101/pub/coding/iczelion/etc/import.php
может это поможет?
может это поможет?
Цитата:
On 2002-02-24 1114, Soulless wrote
Получить параметры функции не получится,в
IMAGE_EXPORT_DIRECTORY хранится только адрес на функцию.Аргументы передаются через стек.
Функция "знает" что ей передают и сама извлекает параметры из стека.
Вот мне как раз и нужно то место в ДЛЛ,которым "функция "знает" что ей передают"
ведь ты правильно говоришь - именно функция знает что ей брать из стека!
стековым кадром.В начале функции
push ebp
mov ebp,esp
Потом что-то вроде
mov bx,[bp+0a]
.......
mov ax,[bp+06]
.......
mov cx,[bp+08]
Это извлекаются параметры из стека,притом
извлекаются они не в обязательно в начале
функции.О типе параметров судить нельзя,
только о размере,в данном случае все по 16 бит.
Количество параметров посчитать тоже проблематично.Если уж очень надо,то можно
написать анализатор кода,который будет извлекать кол-во и размер аргументов.
Только вероятность правильного определения будет зависеть от конкретной библиотеки
и конкретной функции
[ Это Сообщение было отредактировано Soulless в 2002-02-25 1144 ]
Спасибо всем еще раз!