GetThreadContext

Тема в разделе "WASM.BEGINNERS", создана пользователем readme, 7 ноя 2005.

  1. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    leo

    Ок, я не так выразился. Но вообще, почему бы не выдавать ошибку, если флаги не установлены?



    WinXP Eng SP1. OllyDbg.



    readme

    1) SYSENTER только в XP, ниже - int 2Eh;

    2) номера функций для каждого SP могут различаться, так что не стоит на них опираться.

    3) версия ОС - платформа (9x/NT) легко различается по CS, а так.. только GetVersion или какие косвенные признаки.

    [​IMG] _1069172357__tr.zip
     
  2. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    по регистру CS? это косвенный признак,которому нестоит особо доверять?

    хех недумал я что даже в разных sp может неработать
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Ну, по CS — проверено временем :)
     
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    IceStudent

    > "почему бы не выдавать ошибку"

    Ну наверное не ошибку, а просто возвращать false при GetLastError = 0 (а еще лучше возвращали бы int = скопированным ContextFlags ;)

    А так действительно логика странная - даже для активного треда возвращается true, но ничего не копируется - however, the context returned is not valid 8(



    А в NT-шных осях инфа о версии винды вроде как содержится в PEB - поля OSxxx по смещениям A4h-B0h. По PEB можно также различить 9х и NT (например PEB.LDR в 9х всегда = 0)
     
  5. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    у меня даже если поток не замораживать в context копируется
     
  6. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Точно, для активного потока контекст копируется, но ес-но часть регистров не соответсвует значениям на входе и\или на выходе GetThreadContext