Приветствую. Только что наблюдал такую картину: запускаю в ольке длл-ку, она там чего-то делает. Потом вызывает одну из своих функций, в которой есть стандартный пролог. Дык вот, после выполнения команды mov ebp,esp первый регистр НЕ ИЗМЕНИЛСЯ! Как такое может быть??? В аттаче выкладываю скрин произошедшего. Это может быть результатом вызова каких-нибудь апишек? Ну или набор флагов дллки. Только что заметил - вместо ebp меняется ecx - повторю вопрос: ЭТО КАК??? П.С.: запускал на ХР СП2 под варей
Бывает иногда криво выполняются процедуры под отладчиком изза записи точки останова в память(опкод 0xCC). Пролог push ebp/mov ebp,esp ты имеешь ввиду, опкод инструкции mov ebp,esp это 0x8BEC, опкод инструкции mov ecx,esp это 0x8BCC. Процессор её исполняет верно, это криво её отображает отладчик. Лол ))