QPC SpeedHack |
Что это такое:
Хак, который использует подмену значений в QueryPerformanceCounter, вследствии чего можно ускорять, либо замедлять действия на клиенте.
Исполнение:
1) Необходим хук QueryPerformanceCounter. Там исполняем:
BOOL WINAPI MyQueryPerformanceCounter(LARGE_INTEGER *lp) { static LONGLONG oldfake = 0; static LONGLONG oldreal = 0; LONGLONG newvalue; BOOL ret = (pQueryPerformanceCounter)(lp); if( oldfake == 0 || oldreal== 0 ) { oldfake = lp->QuadPart; oldreal = lp->QuadPart; } // cvar.speed_manual - это значение прироста скорости, от 0.1, до 256 // Значения менее 0 будут нас замедлять, большие - ускорять. double factor = (cvar.speed_manual<0.1 ? 1:cvar.speed_manual); newvalue = lp->QuadPart; newvalue = oldfake + (LONGLONG)((newvalue - oldreal) * factor); oldreal = lp->QuadPart; oldfake = newvalue; lp->QuadPart = newvalue; return ret; }
2) Код из OGC, слегка доработан. Оригинальный автор неизвестен. Для более корректной работы спидхака необходимо устанавливать максимальное значение cl_timeout, иначе будет выкидывать с сервера с причиной - connection timeout.
Copyright (c) Troll