SEH-handler не работает

Тема в разделе "WASM.WIN32", создана пользователем NullSessi0n, 23 апр 2006.

  1. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    Хрен его знает, что такое, но система отказывается выполнить нормально следующий код:

    push SEH_frame

    push dword [fs:0]

    mov dword [fs:0], esp

    int 3

    ...

    SEH_frame:

    mov eax, [esp+4]

    inc dword [eax+0B8h]

    xor eax, eax

    retn 4*4

    Я уже успел всё позабыть, а с учётом того, что доки пишут с этим грёбаным C, вместо того, чтобы полностью прописывать на асме основы SEH, я ничего не могу вспомнить. Я пытаюсь увеличить eip на единицу, но ни хрена не работает. Вот в чём дело, собственно.
     
  2. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    mov eax,[esp+0ch]

    на CONTEXT вроде
     
  3. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    readme

    Спасибо большое!!!

    Блин, я со stdcall'ом что-то конкретно напутал. Там же всё в обратном порядке, а у меня всё в прямом. А всё потому что долго на асме не программил.

    2 admins

    Это можно переместить в Beginners, если Вы сочтёте это нужным.
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    NullSessi0n

    хэндлер вобще-то должен быть cdecl
     
  5. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    А Context разве третьим параметром?

    [добавлено]: и вправду, не заметил.