二、C++反作弊对抗实战 (进阶篇 —— 18.如何检测与对抗各种调试器)

如何检测与对抗各种调试器

为了应对破解者调试我们的反作弊系统,所以我们需要检测各种调试器,以此来判断我们的游戏是否正在被调试。本文将非常详细的由浅入深的介绍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()
{
 

猜你喜欢

转载自blog.csdn.net/wangningyu/article/details/123284118
今日推荐