Re[4]: Имя файла, вызывающего функцию из dll
От: Sergey Россия  
Дата: 10.10.02 10:15
Оценка:
Здравствуйте Алекс, Вы писали:

E>>Спасибо! Последний вопрос — а как определить адрес возврата?


А>Можно в начале функции поставить так:

А>
А>    DWORD retaddr;
А>    __asm mov eax,[ebp+4];
А>    __asm mov retaddr,eax
А>


А>хотя за результат я не ручаюсь.


И написать перед функцией (если компилятор — MSVC)

#pragma optimize( "y", off )

Чтоб оптимизатор установку ebp не поскипал.

Или, как уже говорили, использовать __declspec( naked ) и смотреть не на ebp, а на esp.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.