LoginSignup
4
1

UE4/UE5でEasy Anti-Cheat(EAC)を実験的に自作ゲーに導入する

Last updated at Posted at 2023-12-23

開発者登録を事前にしてください

Easy Anti-Cheat(以下EACと呼びます)で保護状態の取得にはEOSSDKを内部的に組み込む必要があります。
今回は導入の仕方の説明です(直接exeを起動できるので意味が無いです)

プロジェクトのC++化を行ってください。からのC++クラスを追加で大丈夫です(ディレクトリの構造が変わるため)

①SDKをポータルからダウンロードします

Desktop Screenshot 2023.12.22 - 00.51.59.86.png

②ファイルを取り出し、展開します

例えば

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のファイル自体をパッケージ化したゲームのルートディレクトリに置きます

Desktop Screenshot 2023.12.22 - 01.10.06.31.png

④インストール、アンインストール用のbatファイルの作成

テキストファイルInstallEAC.txtとUninstallEAC.txt(名前は何でもいい)を作り以下のように記述します

InstallEAC.txt
@echo off
cd %~dp0
EasyAntiCheat\EasyAntiCheat_EOS_Setup.exe install <Your ProductId>
UninstallEAC.txt
@echo off
cd %~dp0
EasyAntiCheat\EasyAntiCheat_EOS_Setup.exe uninstall <Your ProductId>

その後拡張子を.batに変更します。
ProductIdはデベロッパーポータルの製品設定から取得できます。

Desktop Screenshot 2023.12.22 - 01.23.14.22.png

⑤Jsonファイルの設定

gameroot\EasyAntiCheat\Settings.json を編集します。

executableに実際のexeのルートファイルからのパスを書きます。又 " \ "を" \\ "に書き換えます
例えば EACTest\Binaries\Win64\EACTest.exe のようになります。

Desktop Screenshot 2023.12.22 - 01.37.09.13.png

後のIDはデベロッパーポータルの製品設定から取得してください。

⑥"ひとまず"起動

EOS_AntiCheatTools-win32-x64-2.0.3\dist\start_protected_game.exeをゲームのルートディレクトリに配置します。

Desktop Screenshot 2023.12.22 - 01.53.13.45.png

start_protected_game.exeをダブルクリックするとEAC保護状態でゲームが起動されます。

この時あなたのPCでEACがインストールされていない場合起動時エラーが出ます。

Desktop Screenshot 2023.12.22 - 01.52.23.72.png

この場合先ほど作った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を配置します。

Desktop Screenshot 2023.12.22 - 02.20.37.35.png

その後そのディレクトリを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で詳細設定は変えられます。
ハッシュ値の取得や最大ウィンド起動数制限などを行っているようです。

Desktop Screenshot 2023.12.22 - 02.31.27.70.png

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1