你们的非哥 发表于 2021-4-19 13:28:27

游戏中是如何检测变速齿轮,也就是封加速的?


变速齿轮的原理是hook了GetTickCount()和timeGetTime()两个函数。

那么,也就是说,GetTickCount的地址的内容就变成了 JMP XXXXXX。被变速齿轮给替换掉了。

那么,只要开一个线程,专门定时检测GetTickCount开始的第一个字节是不是0xE9就行了。


DWORD WINAPI CheckSpeeder(LPVOID lpParameter)
{
      for(;;)
      {
                if(*((unsigned char *)GetTickCount) == 0xB9 || *((unsigned char *)timeGetTime) == 0xB9)
                {
                        ExitProcess(-2);
                        return NULL;
                }
                Sleep(1000);
      }
      return NULL;
}

CreateThread(NULL, 0, CheckSpeeder, NULL, 0, NULL);


页: [1]
查看完整版本: 游戏中是如何检测变速齿轮,也就是封加速的?