Как получить абсолютный адрес функции?
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Написал функцию которая распечатывает дамп памяти. Сама функция вроде работает правильно. Не правильно только когда в качестве стартового адреса подсовываешь имя функции. Вроде и имя массива, и имя функции являются константными указателями, то есть это адреса памяти. Только когда подсовываешь имя массива — все работает как надо. А когда имя функции — дампит, но с другого адреса. Я посмотрел по дизассемблированному коду, там используется offset:
и дампит она у меня с адреса по значению оффсета: 00E311D6h, что правильно, если смотреть в дизассемблер. А реально функция dump начинается с адреса 00E31550h. Конкретные адреса от запуска к запуску изменяются но смысл остается.
Объясните тупому хомяку как в функцию передать абсолютный адрес другой функции без применения шаманства в виде ассемблерного кода. Я уже себе весь мозг порушил. Причем когда в отладчике студии наводишь мышь на &dump, она показывает правильный адрес 00E31550h. Пробовал сделать даже через указатель на функцию. Теже яйца только сбоку. В указатель записывается оффсет и по этому оффсету прекрасно вызывается функция. Вопщем HELP!
Visual Studio 2008, win7.