sysenter и int 2E

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

  1. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.742
    Начал изучать данную тему и возникло несколько вопросов.

    1) MASM 6.14 может компилить sysenter или только через db 0Fh,34h
    2) В WinXP нужно вызывать только sysenter или еще работает int 2E
    3) Vista работает с sysenter и int 2E ?

    Выложите плиз исходники проги на ASM как пример работы с sysenter и int 2E

    Спасибо !
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    инт 2е работает для совместимости. так что и то и то катит.

    int 2e:
    Код (Text):
    1. __declspec(naked) IntSystemCall( )
    2. {
    3.     __asm
    4.     {
    5.         lea edx, dword ptr ss:[esp+8]
    6.         int 0x2e
    7.         ret
    8.     }
    9. }
    10.  
    11. __declspec(naked) NTSTATUS WINAPI Int2eZwReadFile(...)
    12. {
    13.     __asm
    14.     {
    15.         MOV EAX, 0xB7
    16.         CALL IntSystemCall
    17.         RETN
    18.     }
    19. }
    sysenter:
    Код (Text):
    1. __declspec(naked) FastSystemCall( )
    2. {
    3.     __asm
    4.     {
    5.         mov edx, esp
    6.         sysenter
    7.         // возврат будет в ntdll.KiFastSystemCallRet, там находится только RETN и мы как раз выйдем отсюда в SysenterZwReadFile
    8.     }
    9. }
    10.  
    11. __declspec(naked) NTSTATUS WINAPI SysenterZwReadFile(...)
    12. {
    13.     __asm
    14.     {
    15.         MOV EAX, 0xB7
    16.         CALL FastSystemCall
    17.         RETN
    18.     }
    19. }
     
  3. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    asmlamo
    Превое если нельзя, то можно макросом. А почему 6.14?
     
  4. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.742
    Он у меня установлен :)
     
  5. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    asmlamo
    Лень - причина всех бед.
     
  6. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.742
    Это ты к чему ?

    Лень вообще то двигатель прогресса ....

    Только ленивый человек начинает что то автоматизировать.
     
  7. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    asmlamo
    Не ищите противоречия. Делайте вывод: прогресс - причина всех бед.