Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
ВнизProcAddress Найти похожие ветки
← →
ASSERT (2007-07-14 14:47) [0]вот GetProcAddress из библиотеки берет адрес процедуры, например
t:procedure .........
@t:=GetProcAddress(...)
а как мне можно задать адрес этой проц-ры, числом напримет так:
@t:=3434456656;
пожалййста помогите.
← →
Инс © (2007-07-14 14:49) [1]А зачем?
← →
Однокамушкин (2007-07-14 21:51) [2]
@t:=Pointer(3434456656);
> Инс © (14.07.07 14:49) [1]
> А зачем?
+1
← →
Инс © (2007-07-15 00:15) [3]
> [2] Однокамушкин (14.07.07 21:51)
Зря. Нужно было действительно дождаться ответа. Насколько я понял, автор таким трюком хочет выполнить какую-то неэкспортируемую функцию, смещение от начала файла которой он где-то подглядел. А для этого нужно не забывать, что когда модуль будет загружен в адресное пространство процесса, к нему (смещению) нужно будет еще добавить значение, по которому загружена сама библиотека. А это значение возвращает GetModuleHandle. Если же автор подглядел адрес функции уже загруженной DLL, то полагаться на него нельзя, ибо в другой раз в общем случае библиотека может быть загружена по другому адресу.
Хотя возможно автору нужно совсем другое...
← →
Инс © (2007-07-15 00:18) [4]Да, еще. А если на другой машине стоит другая версия этой библиотеки, то вообще ничего работать не будет.
← →
Игорь Шевченко © (2007-07-16 11:05) [5]
> а как мне можно задать адрес этой проц-ры, числом напримет
> так:
> @t:=3434456656;
@t:=Pointer(3434456656);
← →
Инс © (2007-07-16 11:18) [6]
> Игорь Шевченко © (16.07.07 11:05) [5]
Так ведь Однокамушкин [2] уже ответил! :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.063 c