Конференция "Начинающим" » Таймер чужой программы и HOOK [D7, WinXP]
 
  • Василий21 (25.01.11 09:51) [0]
    Так понимаю, что скорость выполнения большинства програм тестно связана с gettickcount. Собственно нужно как-то установить hook на эту функцию и давать программе тоже значение умноженное на 2. Подскажите, как это сделать?

    В голову приходит:
    1. Получить ID процесса
    2. Функция умножения значения getTickCount результатом dword
    3. SetWindowHookEx
    4. Радуемся ускорению.

    Вопрос - как это реализовать, моих знаний, к сожалению, хватает только на приблизительное представление принципа работы данного алогоритма. Заранее спасибо.
  • Anatoly Podgoretsky © (25.01.11 10:04) [1]
    Умножаем на 2 - это снижение, а не ускорение.
    Такая программа относится ко вредоносному коду.
  • sniknik © (25.01.11 11:11) [2]
    > 4. Радуемся ускорению.
    больше глюкам чем ускорению...
    ну к примеру есть у меня таймаут на запрос от сервера... в среднем запрос делается за 6-7 сек, таймаут поставлен 10сек. секунды в компонентах определяются действительно от gettickcount ... дальше объяснять?

    > моих знаний, к сожалению
    и слава Гейтцу великому и ужасному!  (кому молится чтобы и дальше так оставалось?...)
  • Юрий Зотов © (25.01.11 12:29) [3]
    > Василий21   (25.01.11 09:51)  
    > скорость выполнения большинства програм тестно связана с gettickcount

    http://www.realcoding.net/articles/funktsiya-gettickcount.html

    Описание:
    function GetTickCount: Longint;
    Считывает вpемя, пpошедшее с момента запуска системы.

    И при чем тут скорость выполнения большинства программ?
  • Василий21 (25.01.11 21:55) [4]
    ну хорошо, раз мой ход мышления вас не радует, то переформулирую вопрос. Вот допустим есть игрушка, в ней задержки поставили... как их ускорить? ну знаете, типа mud и всяких там квестов старых
  • Palladin © (25.01.11 23:09) [5]
    что значит "вас не радует", он верный что-ли? и что это за хитрые mud игры которые ускорять надо? ты решил читерством занятся?
  • Eraser © (25.01.11 23:10) [6]
    > [4] Василий21   (25.01.11 21:55)

    пропатчить константы, в которых храянтся задержки в одном конкретном экзешнике да и все.
  • Плохиш © (25.01.11 23:14) [7]
    Прикольно, современные дебилки даже в игрушки поиграть не в состоянии...
  • sniknik © (25.01.11 23:18) [8]
    > типа mud и всяких там квестов старых
    http://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9_%D0%BC%D0%B8%D1%80

    Игроки взаимодействуют с виртуальным миром при помощи текстовых команд, посылая их удаленному серверу через интерфейс командной строки. .... и т.д.

    такую тормозную игру ускорить единственный способ есть - периодически колоть участников шилом в задницу, чтобы не засыпали и не тормозили. компьютер тут "ускорять" - последнее дело.
  • KilkennyCat © (25.01.11 23:26) [9]
    где-то есть информация о частоте процессора и объеме памяти. считать, умножить на 10, продублировать запись о процессоре. тихо радоваться многоядерности, многотерагерцовости и дохренозувости
  • Virgo_Style © (25.01.11 23:27) [10]
    Я не знаю, что конкретно имеет в виду автор, но игры, в которых задержки делались посредством

    for i:=0 to magicvalue do;



    с ростом тактовых частот действительно становились несколько неадекватными :-)

    Подозреваю, что в DosBox найдется что-нибудь против таких торопыг.
  • Германн © (26.01.11 05:48) [11]

    > Virgo_Style ©   (25.01.11 23:27) [10]
    >
    > Я не знаю, что конкретно имеет в виду автор, но игры, в
    > которых задержки делались посредством
    >
    > for i:=0 to magicvalue do;
    >
    > с ростом тактовых частот действительно становились несколько
    > неадекватными :-)
    >
    > Подозреваю, что в DosBox найдется что-нибудь против таких
    > торопыг.
    >


    > Василий21   (25.01.11 21:55) [4]
    >
    > ну хорошо, раз мой ход мышления вас не радует, то переформулирую
    > вопрос. Вот допустим есть игрушка, в ней задержки поставили.
    > .. как их ускорить? ну знаете, типа mud и всяких там квестов
    > старых


    Тут ведь "дикий" вопрос "Как их ускорить"?
    Зачем такое понадобилось?
  • sniknik © (26.01.11 08:06) [12]
    > что-нибудь против таких торопыг.
    так он вроде "тормозов"  ускорять хочет, а не "торопыг" замедлять.

    кстати насчет "торопыг", старых прог которые из-за скорости работы на новых компах вываливались с ошибкой... реальная проблема была (была у нас прога под дос написанная на паскале... уже везде XP а у нас dos... нда). приходилось "программки замедлялки" использовать.
  • 12 © (26.01.11 09:33) [13]

    > приходилось "программки замедлялки" использовать.

    а я приоритет снижал, а кому-то, параллельно запущенному, рилтайм ставил

    автор имеет ввиду игры аля Марьяж(преферанс) под DOS
    Там, действительно, так и было сделано.
    По таймеру думала программа.

    Когда я таймер компа ускорил (загрузил число какое-то куда-то, не помню сейчас), таймер во всех программах полетел тикать, как бешеный..
    Командир Нортон, например, в углу у себя, там где часы у него были,
    час за пару минут отсчитывал :)

    так вот, и Марьяж стал играть "нормально". А не думал по 30 сек над ходом.
    Причем на силе игры особо это не сказалось. А на нервах - вполне.

    Вот автор видимо что-то такое и имеет ввиду.

    Но, мне это не надо было никогда под win. потому ничего не скажу.
    Под вин Марьяж играет нормально, не размышляет по минуте :)
  • 12 © (26.01.11 09:47) [14]
    точно, там управляющее слово было, 65535 если (при перезагрузке встает именно оно) - то таймер идет как надо.
    в два раза меньше загрузишь - в два раза быстрее пойдет.

    2000 ставишь - и нормально
    а меньше если - "часы превращаются в винтилятор"

    словом,
    http://www.google.ru
    timer dos управляющее слово 65535
  • Василий21 (02.02.11 23:53) [15]
    По-сути, пример с Марьяжем очень близок к сути. Необходимо именно ускорить процесс, если бы мне нужно было читерство в обычных игрушках - я бы воспользовался одним из тысяч доступных спидхаков, к которым даже есть исходники. Но это не то.
 
Конференция "Начинающим" » Таймер чужой программы и HOOK [D7, WinXP]
Есть новые Нет новых   [134431   +15][b:0][p:0.001]