1. Да, но этот кадр (аргументы и адрес возврата всегда корректно убивается retn-ом)
2. Я спрашивал что за функция, насколько я помню, для того чтобы написать её код.
Красное:
1) Они - кто?
2) На какую "одну и ту же" переменную?
3)
Новый вход в AnonCreator => переменная поменялась
Да, был 0, стал stack-pointer
уже было отвязанные от родительского кадра анонметоды вдруг залезли во вновь созданный кадр
С чего это? До входа в AnonCreator анонметоды работали с собственным стакфреймом. После выхода их AnonCreator они продолжают работать с собственным стакфреймом. А между этими двумя событиями анонметоды работают с валидным кадром AnonCreator-а, который ещё не был убит retn-ом.
Синее:
это инструкция "mov [flag_AnonCreator], esp"
А что в ней такого губительного? Она записывает вместо нуля значение регистра esp. Что в этом губительного?
чёрное. я дописал в свой последний пост ещё одно замечание, видимо ты его не заметил
Ещё мне кажется, что в строчке "mov [ebp-04], eax" обращение идёт не к XIAN, а к копии старого ebp, положенной в стек первой командой
ы?
Если ты об этом, то я это заметил, но забыл прокомментировать. В этом полностью с тобой согласен.
Этой инструкции:
- Код: Выделить всё
add ebp, 4 ; /// Теперь в EBP то же что было в ESP при входе в анон-метод
там нафиг не надо
.