開発者登録を事前にしてください
Easy Anti-Cheat(以下EACと呼びます)で保護状態の取得にはEOSSDKを内部的に組み込む必要があります。
今回は導入の仕方の説明です(直接exeを起動できるので意味が無いです)
プロジェクトのC++化を行ってください。からのC++クラスを追加で大丈夫です(ディレクトリの構造が変わるため)
①SDKをポータルからダウンロードします
②ファイルを取り出し、展開します
例えば
EOS-SDK-30020700-v1.16.1-new\SDK\Tools\EOS_AntiCheatTools-win32-x64-2.0.3.zip
みたいな感じでzipがあると思うので取り出し解凍します。
③ファイルをゲームファイルにコピーする
EOS_AntiCheatTools-win32-x64-2.0.3\dist\EasyAntiCheat
このEasyAntiCheatのファイル自体をパッケージ化したゲームのルートディレクトリに置きます
④インストール、アンインストール用のbatファイルの作成
テキストファイルInstallEAC.txtとUninstallEAC.txt(名前は何でもいい)を作り以下のように記述します
@echo off
cd %~dp0
EasyAntiCheat\EasyAntiCheat_EOS_Setup.exe install <Your ProductId>
@echo off
cd %~dp0
EasyAntiCheat\EasyAntiCheat_EOS_Setup.exe uninstall <Your ProductId>
その後拡張子を.batに変更します。
ProductIdはデベロッパーポータルの製品設定から取得できます。
⑤Jsonファイルの設定
gameroot\EasyAntiCheat\Settings.json を編集します。
executableに実際のexeのルートファイルからのパスを書きます。又 " \ "を" \\ "に書き換えます
例えば EACTest\Binaries\Win64\EACTest.exe のようになります。
後のIDはデベロッパーポータルの製品設定から取得してください。
⑥"ひとまず"起動
EOS_AntiCheatTools-win32-x64-2.0.3\dist\start_protected_game.exeをゲームのルートディレクトリに配置します。
start_protected_game.exeをダブルクリックするとEAC保護状態でゲームが起動されます。
この時あなたのPCでEACがインストールされていない場合起動時エラーが出ます。
この場合先ほど作ったInstallEAC.batを実行してください。
あなたがAPEX、Fortnite、THE FINALS(フレンド募集中)といったEACを使用しているゲームを遊んだことがあるが、この環境を再現したい場合EasyAntiCheat_EOS_Setup.exeがあるディレクトリでcmdで
EasyAntiCheat_EOS_Setup.exe qa-factory-reset
を実行するとアンインストールされます。
⑦整合性ツールの使用
ベロッパーポータルのアンチチートからアンチチートを有効にし、整合性キーのダウンロードを行います。
その後 EOS_AntiCheatTools-win32-x64-2.0.3\devtools ファイルにダウンロードした
base_private.keyとbase_public.cerを配置します。
その後そのディレクトリをcmdで開き
anticheat_integritytool.exe -productid <Your ProductId> -target_game_dir "<ゲームのルートディレクトリのフルパス>"
を実行します。ディレクトリは C:\Users\aoharu\Desktop\WindowsNoEditor のようになります。
すると
[Info] [Success] EAC Hash Catalogue created: C:\Users\aoharu\Desktop\WindowsNoEditor\EasyAntiCheat\Certificates\base.bin
[Info] [Success] Certificate copied: C:\Users\aoharu\Desktop\WindowsNoEditor\EasyAntiCheat\Certificates\base.cer
のような表示が出れば成功です。ゲームのファイルにEasyAntiCheat\Certificatesというファイルができているはずです。
anticheat_integritytool.cfgで詳細設定は変えられます。
ハッシュ値の取得や最大ウィンド起動数制限などを行っているようです。