SEH и Vista

Тема в разделе "WASM.BEGINNERS", создана пользователем _NEBO, 8 окт 2008.

  1. _NEBO

    _NEBO New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    27
    Господа скажите в чем трабла. Вот пример взятый с http://www.wasm.ru/article.php?article=vgw10

    Код (Text):
    1. exception_handler:
    2.         mov     esp,[esp+8]                     ; Помещаем смещ. ориг. SEH
    3.                                                 ; Ошибка дает нам старый ESP
    4.                                                 ; в [ESP+8]
    5.         pop     dword[fs:0]                     ; Восст. старый SEH-обработчик
    6.  
    7.         invoke  MessageBox,0,0,0,0
    8.         pop     eax
    9.  
    10.         ret
    11.  
    12.  
    13.  
    14. entry $
    15.         push    exception_handler        ; Push'им смещение нашего
    16.                                                 ; обработчика
    17.         push    dword[fs:0]
    18.         mov     dword[fs:0],esp
    19.  
    20.  setupSEH:
    21.  
    22.         mov     dword[0],1 ; Генерируется исключение
    В ХР и 2к нормально работает, но под вистой вопервых что срабатывает два раза, воторох завершается ошибкой.
    Кинте пример правильно составленого SEH плиз!
     
  2. _NEBO

    _NEBO New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    27
    все!
    вроди сам уже решил.
     
  3. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    Ну поделись уж с нами.