Как CallBack func?

Тема в разделе "WASM.BEGINNERS", создана пользователем P_F, 17 июн 2006.

Статус темы:
Закрыта.
  1. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    P_F

    Странные ты однако вопросы задаешь ;)

    При чем тут ОС, если в архитектуре х86 инструкция call всегда пушит в стек адрес следующей за ней инструкции (точнее адрес самой call плюс ее длина), а инструкция ret (retn) извлекает из стека число размером дворд и делает jmp на на адрес = этому числу

    PS: Конечно это нехорошо с точки зрения безпасности системы - эксплоиты переполнения буфера тем и занимаются, что подменяют адреса возврата в стеке. Поэтому в целях защиты придумывают разные хитрости типа рандомизации указателя стека или вводят контрольные сигнатуры, но отменить вообще хранение адреса возврата в стеке - значит либо отказаться от архитектуры х86, либо заниматься эмуляцией (по кр.мере распознавать и перехватывать все call и ret)
     
Статус темы:
Закрыта.