为了应对破解者调试我们的反作弊系统,所以我们需要检测各种调试器,以此来判断我们的游戏是否正在被调试。 本文将非常详细的由浅入深的介绍ring3下面各种常见的检测方法。
本文配套示例代码在文件夹 2.18 中,如你已经订阅该专栏,请在CSDN官网后台私信我你的邮箱以便索取全部配套源码,感谢你的支持!
1.IsDebuggerPresent这个函数是一个标准的Windows API,示例代码如下:
BOOL WINAPI CheckIsDebug1()
{
return IsDebuggerPresent();
}
BOOL WINAPI CheckIsDebug2()
{
#ifndef _WIN64
PPEB pPeb = (PPEB)__readfsdword(0x30);
#else
PPEB pPeb = (PPEB)__readgsqword(0x60);
#endif // _WIN64
return pPeb->BeingDebugged;
}
int main()
{
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)