Re[3]: Узнать адрес, откуда вызвали
От: rg45 СССР  
Дата: 19.06.23 07:13
Оценка:
Здравствуйте, пффф, Вы писали:

R>>Я о такой возможности не знаю (легально и без хаков).


П>Ну хорошо, а как нелегально и с хаками?


Ну для этого нужно закладываться на какой-то конкретный прокол вызова (cdecl, stdcall, fastcall, etc.), вдобавок нужно быть уверенным, что функция не заинлайнилась, потом, через анализ содержимого регистров (ESP, EBP, etc), с учетом размера стека, занимаемого параметрами и локальными переменными, можно будет вытащить адрес возврата. Я с этим баловался давненько, сейчас сходу всех деталей и не припомню уже. Самый простой путь — написать функцию-прототип и посмотреть асемблерный код, как она устроена.
--
Отредактировано 19.06.2023 7:19 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.