Цитата(Freeze Anti @ Sep 17 2007, 09:13)

и после вот этого RET возвращаемся не в 000D14, а в 000000...
Следующий шаг. Подходим к RET и смотрим:
1) содержимое указателя стека,
2) Берем описание команд и смотрим, что делает RET (откуда она берет адрес возврата)
3) Смотрим, не вылез ли указатель за пределы памяти.
3а) Если вылез - запускаем программу снова и смотрим почему.
3б) Смотрим, что же в этом месте в стеке
4б) Запускаем программу снова и смотрим, когда и кем значение портится.
Кто-то (кажется
ivanich) рассказывал про коллег-китайцев. Те совершенно четко выполняют то, что им поручено. Но никакой инициативы. Ни шагу вперед самостоятельно.