さまざまなデバッガーを検出して対処する方法
アンチチート システムをデバッグするクラッカーに対処するには、さまざまなデバッガーを検出して、ゲームがデバッグされているかどうかを判断する必要があります。この記事では、ring3 における一般的なさまざまな検出方法を、浅いものから深いものまで詳しく紹介します。
この記事のサポート サンプル コードは、フォルダ 2.18 にあります。すでにこのコラムを購読している場合は、CSDN 公式 Web サイトのバックグラウンドでメールにプライベート メッセージを送って、すべてのサポート ソース コードを入手してください。ご支援ありがとうございます。
1.デバッガーが存在します
この関数は標準の 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()
{