/SAFESEH:NO

Тема в разделе "WASM.BEGINNERS", создана пользователем holod, 18 фев 2011.

  1. holod

    holod New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2009
    Сообщения:
    25
    Объясните плиз доступно - что значит сабж? Попробовал использовать seh в программе на си - без этого ключа в w2k работает, в xp/w7 нет. Смысл по описанию из msdn не понятен.

    Интересно, можно ли юзать seh в базонезависимом коде, который будет внедрён в другой процесс..
     
  2. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    /SAFESEH - это защита от перезаписи установленных SEH-обработчиков. Такая презапись широко используется при эксплуатации уязвимостей переполнения буфера в стеке (например - для обхода stack cookies).
    Про работу самого механизма можно прочесть здесь: http://www.uninformed.org/?v=5&a=2&t=txt
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    holod
    Ну как уже написали в мсдн, линкер не генерит таблицу безопасных обработчиков. Я не в курсе, как работает механизм, но, судя по всему, системный код не передаст управления на обработчик, не зарегистрированный как безопасный.