/SAFESEH:NO

Discussion in 'WASM.BEGINNERS' started by holod, Feb 18, 2011.

  1. holod

    holod New Member

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

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

    Cr4sh New Member

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

    wasm_test wasm test user

    Blog Posts:
    0
    Joined:
    Nov 24, 2006
    Messages:
    5,582
    holod
    Ну как уже написали в мсдн, линкер не генерит таблицу безопасных обработчиков. Я не в курсе, как работает механизм, но, судя по всему, системный код не передаст управления на обработчик, не зарегистрированный как безопасный.