1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

QueryPerformanceCounter and Windows 10

Тема в разделе "WASM.WIN32", создана пользователем TermoSINteZ, 8 июл 2020.

  1. HoShiMin

    HoShiMin Active Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    804
    Адрес:
    Россия, Нижний Новгород
    Не будут, ведь это воспроизводится на разных системах с разными процессорами и разным набором софта.
    У меня, например, нет антивирусов и отключен виндовый защитник - и те же идеально ровные 10 МГц.
     
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    5.265
    HoShiMin, а защита ядра?
     
  3. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.361
    Адрес:
    Russia
    Вряд ли. там чистая система и аверов там нету. Но я проверю на всякий случай. За мысль спасибо.
     
  4. HoShiMin

    HoShiMin Active Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    804
    Адрес:
    Россия, Нижний Новгород
    У меня выключена, Hyper-V даже не установлен
     
  5. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.657
    Хал слишком толстый для реверса. На это нужно куча времени, всё же константа не зашита. Это старшая часть структуры, мб и константа, те это вероятно. LARGE_INTEGER 64 бита.

    Обработка идёт в хал там полные дебри, кучи функций, в данной задаче как раз таки пригодилась бы хард вирта HoShiMin,

    Конечно можно статик проанализить хал автоматикой.

    Но думаю что стоит какой то софт, система не чистая.
     
  6. HoShiMin

    HoShiMin Active Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    804
    Адрес:
    Россия, Нижний Новгород
    Ну хоть где-то)
     
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    3.122
    Ну это канеш не визор, который решает главную задачу человечества (поиск оеп), но хоть что-то. Это так любовь Инде проявляется, он не хочет этого особо показывать, но ты - явно его фаворит среди всего васма.
     
  8. omne999666

    omne999666 Member

    Публикаций:
    0
    Регистрация:
    13 июл 2019
    Сообщения:
    59
    Адрес:
    Ukraine
    Отрывок из просмотра соурса собственного примера, это функции из API метода QueryPerfomanceCounter к 32 разрядный регистр данных, регистр аккумулятор, регистр базы, а счётчик 64 разрядный и выходит часть данных в обрез заполнения при заполнении 32-раздяного регистра счётчика, прост ЯВП не смог фикс сделать и при объявлении типа данных.
     
  9. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    796
    Адрес:
    подполье
    Оlolo:
    еаx = QueryPerfomanceCounter();
    аdd d[esp],еаx
    ret
    start:
    call Оlоlо
    ret
    db 42 dup 90h
    АverаmKonec: ;уряяя!
    ;плейлод
    .еnd start
     
  10. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.657
    TrashGen,

    После ret будет #GP на рандом адрес в лучшем случае, те нужно ловушку поставить. Если же повезёт что адрес валид то выполниться произвольный код после чего дальнейшая работа апп будет невозможной :)

    - нужно дельту вычислять, а не брать рандом константу.
     
  11. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    796
    Адрес:
    подполье
    Да ну я не знаю в каком параметре десятка возвращает частоту десять, думал вы догадаетесь шо имелось ввиду :/
     
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.657
    TrashGen,

    Кто же знает что у тебя на виду и что имелось ввиду. Твой код это высер который даже в теории не может привести к вызову пэйлода.
     
  13. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    796
    Адрес:
    подполье
    Может, когда функция возвращает фиксированную частоту в десять мегагерц
     
  14. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    3.657
    TrashGen,

    Так это хардкод, не годится.
     
  15. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.361
    Адрес:
    Russia
    Зря флудите в админской теме. Ой зря...
     
  16. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    358
    Адрес:
    Кольца Сатурна
    У меня винда тоже возвращает 10 МГц.
    Как я понял (из MSDN и дабага QPC), в системах с invariant TSC используется RDTSCP, частота которого вычисляется при старте винды. При вызове QPC значение счётчика RDTSCP масштабируется и корректируется (добавляется некое значение, производится деление через умножение) под частоту 10 МГц. Т.е. HPET тут ни при чём. Есть ещё непонятное место – это когда вначале проверяется, не изменился ли какой-то счётчик (вероятно, не произошёл ли тик таймера между двумя последовательными чтениями). Только зачём – х/з.
     
  17. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    871
    извините конеш - а оно разное должно быть для опорных кварцевых генераторов?
     
  18. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    358
    Адрес:
    Кольца Сатурна
    Что оно? Частота QPC (т.е. QPF)? По спецификации она должна быть не меньше 1 МГц. А сколько именно – не фиксируется.
    Можно почитать вот это на досуге при желании. Не очень понятно, почему её сделали 64-битной, а не 32. Видимо, на перспективу.
     
    TermoSINteZ нравится это.