本文主要是介绍二、C++反作弊对抗实战 (进阶篇 —— 18.如何检测与对抗各种调试器),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如何检测与对抗各种调试器
为了应对破解者调试我们的反作弊系统,所以我们需要检测各种调试器,以此来判断我们的游戏是否正在被调试。本文将非常详细的由浅入深的介绍ring3下面各种常见的检测方法。
本文配套示例代码在文件夹 2.18 中,如你已经订阅该专栏,请在CSDN官网后台私信我你的邮箱以便索取全部配套源码,感谢你的支持!
1.IsDebuggerPresent
这个函数是一个标准的Windows API,示例代码如下:
BOOL WINAPI CheckIsDebug1()
{return IsDebuggerPresent();
}BOOL WINAPI CheckIsDebug2()
{
#ifndef _WIN64PPEB pPeb = (PPEB)__readfsdword(0x30);
#elsePPEB pPeb = (PPEB)__readgsqword(0x60);
#endif // _WIN64return pPeb->BeingDebugged;
}int main()
{
这篇关于二、C++反作弊对抗实战 (进阶篇 —— 18.如何检测与对抗各种调试器)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!