游戏中是如何检测变速齿轮,也就是封加速的?
变速齿轮的原理是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]