Кто знает что в винде делают функции...

Тема в разделе "WASM.WIN32", создана пользователем MaKsIm, 11 фев 2008.

  1. MaKsIm

    MaKsIm Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    69
    Кто знает что в винде делают функции ReasonCodeNeedsBugID и ReasonCodeNeedsComment (диз. user32.dll)
     
  2. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    ReasonCodeNeedsBugID возвращает значение 25-го бита unsigned long'a или unsigned int'а
    ReasonCodeNeedsComment возвращает значение 24-го бита.
     
  3. MaKsIm

    MaKsIm Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    69
    на счет того, что разобрать в том, что они реально делают просто. но по моему в любом уважающем себя языке есть функции алгебры логики получения нужного бита из байтов, слов, и т.д.
    мне не ясно зачем они нужны впринципе, может тут кроется какой-то подвох и система совершает некие непонятные действия при их вызове или они нужны чтобы повысить рейтинг вызовов библиотеки :)
    P.S.
    если меня еще не поняли, то обратите внимание на название функций, а не суть их работы
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Код (Text):
    1. .text:77D872BE _ReasonCodeNeedsBugID@4 proc near
    2. .text:77D872BE
    3. .text:77D872BE arg_0           = dword ptr  8
    4. .text:77D872BE
    5. .text:77D872BE                 mov     edi, edi
    6. .text:77D872C0                 push    ebp
    7. .text:77D872C1                 mov     ebp, esp
    8. .text:77D872C3                 mov     eax, [ebp+arg_0]
    9. .text:77D872C6                 shr     eax, 19h
    10. .text:77D872C9                 and     eax, 1
    11. .text:77D872CC                 pop     ebp
    12. .text:77D872CD                 retn    4
    13. .text:77D872CD _ReasonCodeNeedsBugID@4 endp
    как видишь ничего интересного.
     
  5. Yashin

    Yashin New Member

    Публикаций:
    0
    Регистрация:
    25 янв 2008
    Сообщения:
    19
    ReasonCodeNeedsBugID - что тут не понятного, вызывающая программа, временно исключается из виндоусофского планировщика багов на время Rand(1000) мс.
    ReasonCodeNeedsComment - устанавливает значение сообщения чтобы оправдать баг все того же планировщика.
    Функции используются системой и естественно не позволяют вызывать себя из несистемных библиотек. Маскируясь бессмысленным кодом.
     
  6. MaKsIm

    MaKsIm Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    69
    Yashin - пасиб... вот это и хотелось услышать!
    P.S.
    В Windows все через... рандом!
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    MaKsIm
    o_0
    Это была шутка...
     
  8. MaKsIm

    MaKsIm Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    69
    нет. просто нашел еще один системный механизм "с идеотизмом"! спросил для выяснения обстоятельств
     
  9. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Yashin так шутит, а ты веришь :\
     
  10. Yashin

    Yashin New Member

    Публикаций:
    0
    Регистрация:
    25 янв 2008
    Сообщения:
    19
    В каждой шутке есть доля... шутки!!!
     
  11. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    MaKsIm
    Покопался тут. Короче так понял, что на входе некий код, который сообщает о причине перезагрузки/завершения работы ситсемы и т.д. По этому коду можно определить саму причину перезагрузки с пом. ф-ции GetReasonTitleFromReasonCode в виде строкового сообщения. Все биты кода не используются для определения текста сообщения. shutdown.exe вызывает из user32 эти 2 ф-ции чтобы определить, нужно-ли показывать юзеру сообщение о причине завершения работы системы и соотв. показывать ли сам текст сообщения.
    Что-то вроде этого. Короче, разбирай shutdown.exe, если интересно.