Создать файл карты.Файл карты сообщит вам адрес, с которого начинается каждая функция (в качестве смещения от начала exe, поэтому вам нужно будет знать также и базовый адрес, который он загружает).Затем вы посмотрите на указатель инструкций и посмотрите, где он находится в файле карты.Это дает вам хорошее представление о расположении в данной функции.
Ручная размотка стека - это немного чёрного искусства, так как вы не знаете, какие оптимизации выполнил компилятор.Когда вы примерно знаете, где вы находитесь в коде, вы обычно можете определить, что должно быть в стеке, и просканировать память, чтобы найти указатель возврата.его довольно сложно, однако.Вы эффективно тратите много времени на чтение данных в памяти и на поиск чисел, похожих на адреса памяти, а затем проверяете, логично ли это.Это вполне выполнимо, и я, и я уверен, что многие другие, делали это много раз:)