Текущий архив: 2004.04.04;
Скачать: CL | DM;
Вниз
Работа с DLL Найти похожие ветки
← →
senator (2004-03-15 08:53) [0]Подскажите пожалуста, как из dll вытащить заголовки функций.
← →
evvcom (2004-03-15 09:18) [1]Неконкретный вопрос. Если просто интересно посмотреть, то каким-нибудь PE-просмотрщиком, если из своей программы, то ищи инфу о структуре PE-формата, конкретно таблица экспорта.
← →
vl_chel © (2004-03-15 10:03) [2]Недавно разбирал вопрос - имена экспортируемых объектов вытащить можно, а парамнетры процедур нет т.к. возможны процедуры с переменным числом параметров. Ответ "Единая база процедур и функций для Delphi"
Для того, чтобы вытащить информацию о параметрах надо иметь информацию о типах, а это могут только COM объекты
← →
evvcom (2004-03-15 10:17) [3]
> возможны процедуры с переменным числом параметров
Переменное число параметров бывает - но это только чисто внешне. Внутренне реализуется всё равно конкретное число параметров, а то что является переменным, на это обычно передается указатель, и в этом массиве где-то присутствует его длина.
Параметры можно вычислить, если долго и упорно поработать, например в IDA Pro и SoftIce. Но те, кто способны на это в данный момент, таких вопросов не задают, поэтому такие объяснения сейчас преждевременны.
← →
Игорь Шевченко © (2004-03-15 12:25) [4]
> Параметры можно вычислить, если долго и упорно поработать
Или если функции написаны на C++ ;)
← →
Алхимик1982 (2004-03-15 12:40) [5]// если из своей программы, то ищи инфу о структуре PE-формата, конкретно таблица экспорта
Это, конечно, хорошо. Но какие функции использовать для WinAPI и Delphi?
← →
Zacho © (2004-03-15 12:52) [6]Какие, какие.. Функции чтения файлов.
← →
evvcom © (2004-03-15 12:55) [7]
> Или если функции написаны на C++
Опять же это, если есть документация. Если используется, например, широко известная mfc42.dll, то вся информация есть в MSDN. А если я напишу на Си никому неизвестную MySuperPuper.dll, то одно знание того, что написал я ее на Си, не поможет.
← →
Игорь Шевченко © (2004-03-15 13:25) [8]evvcom © (15.03.04 12:55)
> то одно знание того, что написал я ее на Си, не поможет
На С - не поможет. На С++ - поможет, так как имена функций в С++ включают в себя типы параметров.
← →
evvcom © (2004-03-15 14:06) [9]В Дельфовых runtime packages имена функций тоже включают в себя имена и типы параметров, но если параметр - указатель на нестандартную структуру данных, то по-моему это уже нигде не прописывается. Или я не прав?
← →
Алхимик1982 (2004-03-17 10:07) [10]//Какие, какие.. Функции чтения файлов.
Каой умный. :) И как же прочесть информацию о таблице экспорта функциями чтения файлов.
Может кто знает функции и как ними работать, которые позволяют получить доступ к таблицам символов файлов? Ведь имена экспорта - это ж символы.
← →
KSergey © (2004-03-17 10:18) [11]> Игорь Шевченко © (15.03.04 13:25) [8]
> На С++ - поможет, так как имена функций
> в С++ включают в себя типы параметров.
Вот только, как правило, для экспортируемых ф-ций отключается предыскажение имен... А иначе фиг к этой DLL подберешься из другого языка/компилятора... (не, ну можно, понятно, но...)
← →
KSergey © (2004-03-17 10:20) [12]> Алхимик1982 (17.03.04 10:07) [10]
Яндекс
"Формат PE файлов"
← →
evvcom © (2004-03-17 10:22) [13]
> Может кто знает функции и как ними работать, которые позволяют
> получить доступ к таблицам символов файлов? Ведь имена экспорта
> - это ж символы.
Есть подобная ветка с примерами http://delphi84.valuehost.ru/cgi-bin/forum.pl?id=1079353821&n=5. Там таблицы импорта, тебе нужен экспорт, немного переделаешь и ОК. Как переделать, ищи PE-формат.
← →
EXE7 (2004-03-17 10:27) [14]ReadFile
ReadFileEx
>прочесть информацию о таблице экспорта
смещение с начала файлов до табл импорта\эк
ЗАГОЛОВОК РЕ
>функции и как ними работать
таких нет,свои писать,или если у когото есть наработки
← →
PVOzerski © (2004-03-17 11:29) [15]В исходниках FreePascal это есть. По-моему, класс tDllScannerWin32 или tDllScannerW32 (давно писал, сейчас искать лень) и его класс-родитель tDllScanner.
Страницы: 1 вся ветка
Текущий архив: 2004.04.04;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.021 c