
29.12.2009, 15:03
|
|
Познающий
Регистрация: 17.11.2008
Сообщений: 48
Провел на форуме: 351316
Репутация:
71
|
|
Ну вообще fstp инструкция сохраняет значение из ST(0) сопроцессора в приемник (в твоем случае QWORD PTR SS:[ESP]). Посему, твоя работа будет заключаться в чтении значения QWORD PTR SS:[ESP]. Для этого можешь воспользоваться двумя методами:
a) Если для тебя и для программы непринципиально пускать последнюю под отладчиком, то тебя спасет Int 3 бряк на 0040C77F, для чего используй "мелкософтовский" Debug API. Отладчик твой займет строк 30 в C-коде. по бряку, читаешь QWORD по esp и у тебя вруках нужное значение.
b) Если принципиально, то подгружай свой код (например через реестр - AppInitDLL), который будет править код, например, по адресу 0x0040C77F jump-ом на твой код (сохранив при этом инструкцию по этому адресу 0040C77F), который прочитает нужное тебе значение и передаст уравление обратно. Естественно, может быть куча подводных камней, которые нужно смотреть под дебагером. Суть идеи, думаю, тебе понятна.
|
|
|