Cheat Engine(チートエンジン)のインストールと使い方について。
本ブログではMODやチートの紹介で頻繁にCheat Engineを使うのですが、今までしっかりと使い方を解説したことがなかったのでまとめておきます。

【完全版】と銘打ってますが、「本ブログにおいての完全版」なので悪しからず。

1.MODとチートの違い

ゲームにおける改造の位置付けや扱いはセンシティブなので最初にMODとチートの違いについて記載しておきます。

まず、MOD(Modification)=「改造、改変」です。
本来、ゲームのMOD行為自体がグレーなのですが、「購入者が購入物を自由に利用し遊ぶ権利」があるとして個人利用は一応認められています。
とはいえ、「著作権侵害」の側面もあり、MODを快く思っていないメーカーも存在し、暗号化等により対策されてMODが困難なゲームもあったりします。
MOD禁止が公式アナウンスされる場合もあるのでそのときは素直に使用を諦めましょう。

次に、チート=「ズル、不正」と訳され、オンラインゲームでチーターが暴れたりするので勘違いされがちですが、やってることはゲームプログラムの書き換え行為=MOD行為なので同じく個人利用は一応認められています。
チートから連想されるズルとは真逆に難易度を上げたりすることも可能です。
ここで言いたいのはMOD行為にはチート行為も包含されるということです。MODはOKでチートはNGという理論は成り立ちませんし、チートMODと呼ばれるものも存在します。
参考:Mod (コンピュータゲーム) - Wikipedia

ちなみに、当ブログでは「事前にゲームファイルを置き換えたり追加するもの」をMOD、「リアルタイムにゲームプログラムを変更するもの」をチートと呼称していますが、これが正しいわけではありません。
上記のwikiでは「外部の有志が制作したもの」がMOD、「ゲームソフトに最初から導入されているもの」がチートとされています。

ゲームメーカー側の見解例としては、Steamストアページ→コミュニティハブ→「ワークショップ」タブがあるゲームは1クリックでMODが導入できるような仕組みが公式にサポートされています。
他に『FF15』において「MODはできる限り自由を尊重する」とのコメントがあったり、『バビロンズフォール』の生放送においてディレクターの個人的見解として「公序良俗に反しなければいいのでは」のようなコメントもありました。
例は少ないもののオフラインソロプレイにおいてのMOD(チート)行為は基本的に問題ないと考えていいでしょう。

但し、オンラインマルチプレイ(対戦、協力、スコアランキング等)でのMOD(チート)行為は間違いなく違法です。同様に、スキンDLCなどを購入しなくても使えるようなMODもアウトです。
これにより、メーカー及びユーザー双方が不利益を被るためで訴訟事例や逮捕事例もあります。

オンラインマルチとオフラインソロが混在してるゲームにおいては、オフラインソロでチートプレイした後にチート解除してそのままオンラインマルチプレイをするのも控えるべきです。
すでにゲームプログラムに手を加えている状態なので、一旦ゲームを再起動してください。

最後に、ゲームにおけるバグに関して、バグもチートもメーカー視点での扱いはほぼ同じです。
例えば、オンラインゲームでアイテム増殖バグなどを積極的に利用するとBANされるような規約がほとんどです。
バグ利用であってもチートと同じくメーカー及びユーザー双方が不利益を被るためです。昨今はオフラインソロゲームであってもユーザーに有利なバグはアプデで潰されることも多くなっています。
バグを積極的に利用して楽するのはチートと本質的に同じなんですね。
もちろん意図せずたまたま発生してしまったバグは仕方ないです。

2.Cheat Engine&Cheat Tableとは

Cheat Engine(CE、チートエンジン)とはどんなアプリなのか。

もちろんゲームをチートする際に使うアプリなのですが、ゲームに限らずPC上で動作するあらゆるアプリに対して内部の数値などを変更(改造)することができます。
とはいえ、正常に動作するPCアプリを改造する人も意味もほぼないので、「Cheat Engine=PCゲームの改造ツール」として認知されています。

Cheat Engine単体でできることは5項で紹介しますが、基本的にはPCゲーム(アプリ)のアドレスサーチ&そこに格納されているデータの書き換えです。
ゲームというのは膨大なプログラムで動作しているので、Cheat Engineのみでチートするには高度な専門知識が必要となります。
それを解決するのがCheat Table(CT、チートテーブル)です。

Cheat Tableはゲーム毎に有識者によって作られたチートリストと思えばOKです。
「ゲーム英名 CheatEngine」で検索すると大抵は海外のチート掲示板がヒットするはずで、主なものはほとんどここに投稿されています。(たまにNexusなどにも投稿されてる)

FearLess Cheat Engine

投稿されている「***.CT」ファイルをCheat Engineに読み込ませるとチートリストが表示され、対応するゲームで簡単にチートすることができます。
使い方の例は4項で解説します。

注意点として、投稿されているCTはゲーム側のアプデにより使えなくなることがあります。ゲーム側のアドレス配置などが変わるためです。
同様に、同じゲームであってもSteam用に作られたCTがEpicなど他ストアではアドレス配置が異なり使えないことも多いです。
これらが発生した場合は、CT作者が対応版を投稿してくれることを待つくらいしか対策はありません。

また、CTはCEのバージョンに依存する機能があり、「最新CEでしか動作しないCT」や稀に「最新CEでは使えないCT」も存在します。
その場合は、対応するCEバージョンを導入する必要があります。
こういったことがあるためかCEは新旧バージョンをインストールしても上書きされずバージョン毎に共存してそれぞれ起動することができます。

ここまではCheat Engine&Cheat Tableの前提知識として覚えておきましょう。

3.Cheat Engineインストール

ようやく本題のインストールです。
公式サイト最上部の「Download Cheat Engine」からインストール用のexeファイルをダウンロードしてもいいですが、ここからだと最新CE限定となります。

目的のバージョンのCEがある場合は以下の「Assets」から「CheatEngine**.exe」をダウンロードしてください。CEは新旧インストールしても上書きされず共存します。
Cheat Engine - GitHub - Releases

執筆時点最新のインストールexe。旧バージョンはスクロールして「▶Assets」を展開するとDLできる。(DLできない場合は以下の手順や他のブラウザを試す)

なお、CEは他のアプリを書き換えることができるため、Windowsデフォルト設定では「悪意のあるソフトウェア」と見做されてDLやインストールでブロックされる可能性が高いです。
なので、Windows左下検索ボックスにて「アプリとブラウザーコントロール」を開き、「評価ベースの保護設定」→「望ましくない可能性のあるアプリのブロック」をオフにしましょう。

CEのダウンロード&インストール用の一時的な設定。CEインストール後は必ずオンに戻すこと。

CEはウィルスではないと断言できるものの、以下のブログに「なぜブロックされるのか」少し詳しい説明があったので、どうしても気になる場合は機能削除版の「CheatEngine**Lite.exe」をインストールしましょう。

ウイルス対策ソフトがCheat Engineに含まれている以下の機能を危険だと判断しているためです。

<略>

また、Cheat EngineではLuaというプログラミング言語を使うことが出来るのですが、これが管理者権限でしか実行できないコードを実行できてしまうため、これも同様に危険だとフラグされています。

Cheat Engineがインストールできない場合の解決方法

準備できたら、DLした「CheatEngine**.exe」をダブルクリックしてインストール開始します。
以下、「CheatEngine75.exe」におけるインストール手順です。

①言語は「English」を選択

②Welcome画面は「Next」

③OPTIONAL OFFERは不要アプリなので「Skip All」

執筆時点ではマカフィーだった。おそらく時期やバージョンによって広告アプリも変わるので全て無視。

④インストールが終わったら「Launch the application on exit」にチェックして「Finsh」

⑤CEShareの初期設定が開くので「Cancel」

CE上からCTをUL&DLできる機能らしく免責事項として「CEShareはCEとは別のサードパーティ製」であることが書かれている。便利かもしれないもののCTは別途探した方が安心なので不要。

⑥CEを閉じる

これでインストール完了です。あとはゲーム毎のCTがあればチートできます。
ちなみに日本語化する方法もあるようですが、CEバージョン毎に対応が必要なので私は英語のまま使用していますし、日本語化したとしてもCTのチート項目はほぼ英語で作られているのであまり意味はないです。

4.Cheat Engine&Cheat Tableの使い方

2項で説明したとおりチートするにはゲーム毎のCTが必要です。
本ブログの各記事では必要なCTも紹介していますが、もちろん自身で探したCTでも問題ありません。

DLした「***.CT」をダブルクリックするとCheat Tableが読み込まれた状態でCEが起動します。

CTによってはluaスクリプトと呼ばれる管理者権限の言語を使うものもあり、起動時にダイアログが表示されるのでそのまま「Yes」。

①CE起動中に目的のゲームも起動し、CE左上のディスプレイアイコンをクリックするとPCで実行中のプロセスリストが開くので、「ゲーム名.exe」をクリックして「Open」(適用、フック)
プロセス名はゲームによって異なるものの、基本は「英名.exe」か「英略称.exe」。

プロセスを適用するまでは赤↔緑に明滅している。

②プロセスを「Open」すると「Keep the ~」と現在のチートリストを保存するか聞かれるので「Yes」を選択。

このあとは自由にチートできます。
以降は説明用に『EDF5』のCTを用います。

『EDF5』のCTの一部。チート項目が日本語化されている稀有な例。

各チート項目Active欄にチェックするとチートが有効になり、右側Value欄の記載によってチェックしたときの振る舞いが変わります。(AddressとTypeは解析者用なので無視)

●空白:チートリストの開閉。
チェックすると格納されているリストが展開される。

●<script>:チートのオンオフ。
チェックするとチートが有効になる。チート有効によりさらにリストが展開されるものも多い。

●文字列:チェック不要。
文字列をEnterかダブルクリックして主にドロップダウンリストから選択するとチートに反映される。稀に直接入力できるものもある。
画像の場合は「ON」「OFF」を切り替えるとチートの振る舞いが変わる。例えば、アイテム入手チートなどでは「ゲーム内アイテム」をドロップダウンメニューから選択できたりする。
チェックすると文字列が強制固定される。(具体例は次)

●数値:チェック不要。
ステータスなどのゲーム内数値がリアルタイムに表示される。
数値などのデータを取得(参照)するものをポインタと呼び、「pointers」としてまとめて格納されているものも多い。
数値をEnterかダブルクリックして直接数値入力するとゲームに反映されるが、ゲーム側でロードなど読み込みがあると本来の数値に戻されることもある。
チェックすると数値が強制固定されるので、画像の例では「移動速度」を「3かつチェック」したことによりロードを挟んでも常に3倍速で移動できるようになっている。但し、ゲーム側からの変更を拒否して強制固定してるため動作不安定になることも多い。

●??:チェック不要。
ゲーム内数値などが取得できていない状態。
「セーブデータやステージをロードする」「メニュー画面を開く」「キャラ変更する」などゲーム側で該当データにアクセスするような操作をすると読み込まれて正常に表示される。
画像の例では、フェンサーで出撃すると数値が表示されるようになる。
また、ゲーム側のアプデなどにより数値が取得できない場合も??となる。

基本的には以上です。
慣れないうちは空白と<script>のみチェックすると思っておけばOKです。

5.知っておくと便利な機能

最後にCE単体で使える便利な機能を紹介しておきます。

CE右上にはCT製作者などが解析を行うために使う機能がまとまっているので基本的には全く触りません。
しかし、素人でも簡単に使えるスピードハックが用意されています。

CE右上の部分。赤枠がスピードハック。

ゲームをプロセス適用した状態で「Enable Speedhack」にチェックすると赤枠が表示され、バーをドラッグして動かすか「Speed」に数値を入力して「Apply」すると、ゲームそのものが数値倍速で動作します。
個人的にはムービーゲーなど見てるだけの時間が多い場合に倍速動作させることが多いです。

あとは、「First Scan」「Next Scan」を使って解析することにより独自のチートを作ることも可能ですが、私も全ては理解できておらず高度な知識が必要となるのでこの辺りは他の詳しい解説を探してください。
本ブログでは以下の記事で一応それっぽいことをやってます。
関連記事:PC版『FF15』敵置き換えチート&ゲスト操作MOD

-2023/3/31

↑いいね貰えると励みになります