Ассемблерные извращения - натягиваем стек


Листинг3 дизассемблерный листинг оптимизированного варианта передачи аргументов


Несколько замечаний по поводу. Операционные системы семейства Windows NT (к которым принадлежит Windows 2000, Windows XP, Windows Vista, Windows Server 2003 и Windows Server Longhorn) гарантируют целостность содержимого стека выше его вершины (т. е. для адресов меньших, чем ESP), поэтому свободно переносят такие извращения безо всякого ущерба для работоспособности программы. Операционные системы семейства Windows 9x ведут себя иначе, бесцеремонно используя все, что находится выше ESP в целях "производственной необходимости", что ведет к искажению секции данных и последующему краху программы, поэтому, все, сказанное здесь, распространяется только на NT.

 




Начало  Назад  Вперед