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されるような規約がほとんどです。
オンラインゲームにおいてはバグ利用であってもチートと同じくメーカー及びユーザー双方が不利益を被るためですが、昨今はオフラインソロゲームであってもユーザーに有利なバグがアプデで潰されることも多くなっています。
バグを積極的に利用して楽するのはチートと本質的に同じなんですね。
もちろん意図せずたまたま発生してしまったバグは仕方ないです。
[24/10/29追記]
2024年10月にチートは著作権侵害ではないとの判決が出ました。曰く「ソースコードには著作権があるものの、コードに基づいてRAMに転送されたパラメータは著作権で保護されない」とのことです。とはいえ、PSPのソロゲーにおいての一件であり、オンラインマルチゲームのチートは既にいくつも逮捕事例があります。
参考:ゲームの「チートツール」は著作権侵害ではないとの判決でソニーが敗訴
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などのMOD投稿サイトにもある)
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限定となります。
目的のバージョンがある場合は以下のリンク先Assetsから「CheatEngine**.exe」をダウンロードしてください。CEは新旧インストールしても上書きされず共存します。
Cheat Engine - GitHub - Releases
なお、CEは他のアプリを書き換えることができるため、Windowsデフォルト環境では「悪意のあるソフトウェア」と見做されてDLやインストールでブロックされる可能性が高いです。
なので、Windows左下検索ボックスにて「アプリとブラウザーコントロール」を開き、「評価ベースの保護設定」→「望ましくない可能性のあるアプリのブロック」をオフにしましょう。
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があればチートできます。
ちなみに日本語化する方法もあるようですが、CEバージョン毎に対応が必要なので私は英語のまま使用していますし、日本語化したとしてもCTのチート項目はほぼ英語で作られているのであまり意味はないです。
4.Cheat Engine&Cheat Tableの使い方
2項で説明したとおりチートするにはゲーム毎のCTが必要です。
本ブログの各記事では必要なCTも紹介していますが、もちろん自身で探したCTでも問題ありません。
DLした「***.CT」をダブルクリックするとCheat Tableが読み込まれた状態でCEが起動します。
①CE起動中に目的のゲームも起動し、CE左上のディスプレイアイコンをクリックするとPCで実行中のプロセスリストが開くので、「ゲーム名.exe」をクリックして「Open」(適用、フック)
プロセス名はゲームによって異なるものの、基本は「英名.exe」か「英略称.exe」。
②プロセスを「Open」すると「Keep the ~」と現在のチートリストを保存するか聞かれるので「Yes」を選択。
このあとは自由にチートできます。
以降は説明用に『EDF5』のCTを用います。
各チート項目Active欄にチェックするとチートが有効になり、右側Value欄の記載によってチェックしたときの振る舞いが変わります。(AddressとTypeは解析者用なので無視)
●空白:チートリストの開閉。
チェックすると格納されているリストが展開される。
●<script>:チートのオンオフ。
チェックするとチートが有効になる。チート有効によりさらにリストが展開されるものも多い。
●文字列:チェック不要。
文字列をEnterかダブルクリックしてドロップダウンリストから選択するとチートに反映される。稀に直接入力できるものもある。
画像の場合は「ON」「OFF」を選択することでチートの振る舞いが変わる。
他にアイテム入手チートなどでは「ゲーム内アイテム」をドロップダウンリストから選択できたりする。
チェックすると文字列が強制固定される。(具体例は次)
●数値:チェック不要。
所持金やステータスなどのゲーム内数値がリアルタイムに表示される。
数値などのデータを取得(参照)するものをポインタと呼び、「pointers」としてまとめて格納されているものも多い。
数値をEnterかダブルクリックして数値入力するとゲームに反映されるが、ゲーム側でロードなど読み込みがあると本来の数値に戻されることもある。
チェックすると数値が強制固定されるので、画像の例では「移動速度」を「3かつチェック」したことによりロードを挟んでも常に3倍速で移動できるようになっている。但し、ゲーム側からの変更を拒否して強制固定してるため動作不安定になることも多い。
●??:チェック不要。
ゲーム内数値などが取得できていない状態。
「セーブデータやステージをロードする」「メニュー画面を開く」「キャラ変更する」などゲーム側で該当データにアクセスするような操作をすると読み込まれて正常に表示される。
画像の例では、「フェンサーで出撃する」と数値が表示されるようになる。
また、ゲーム側のアプデなどによりアドレス配置が変わってしまいデータ取得できない場合も??となる。
基本的には以上です。
慣れないうちは空白と<script>のみチェックすると思っておけばOKです。
5.知っておくと便利な機能
最後にCE単体で使える便利な機能を紹介しておきます。
5.1 スピードハック(ゲームスピード調整)
CE右上にはCT作者が解析を行うために使う機能がまとまっているので基本的には全く触りません。
しかし、素人でも簡単に使えるスピードハックが用意されています。
ゲームをプロセス適用した状態で「Enable Speedhack」にチェックすると赤枠が表示され、バーをドラッグして動かすか「Speed」に数値を入力して「Apply」すると、ゲームそのものが数値倍速で動作します。
個人的にはムービーゲーなど見てるだけの時間が多い場合に倍速動作させることが多いです。
[24/10/25追記]
スピードハックを使う場合、オンオフするために毎回CE上で変更するのは手間がかかります。
そこで、CE上部のEdit→Hotkeys→Toggle the speedhackに対してホットキーを設定することで設定したキー操作でスピードハックをオンオフできます。
Xboxコンであればボタン入力もホットキーにできるため、ゲーム側で入力しないであろう複数のボタン同時入力を設定しておくとコントローラー操作でスピードハックをオンオフ可能です。
設定後はCTをFile→Save(Ctrl+S)しておくと次回以降そのCTでは設定したホットキーが使えます。
あとは、「First Scan」「Next Scan」を使って解析することにより独自のチートを作ることも可能ですが、私も全ては理解できておらず高度な知識が必要となるのでこの辺りは海外など詳しい解説を探してください。
本ブログでは以下の記事でそれっぽいことをやってます。
関連記事:PC版『FF15』敵置き換えチート&ゲスト操作MOD
-2023/3/31
5.2 チート項目へのホットキー設定
各チートに対してもホットキーが設定できます。
チート項目を選択した状態でCtrl+Hもしくは右クリック→Set Hotkeys。ここでは例として4項『EDF5』の「移動速度」を選択している状態とします。
Create hotkeyを押して設定します。
上から以下のような設定となってます。
・ホットキー入力:基本的にキーボードのみ、Xboxコンであればボタンも設定可能。
・Set value to:ホットキーでValue値を変更する。トグル型など選べる。
・Restore to ~:ホットキーをリリースしたら元に戻るか否か。チェックすると長押し時のみ有効。
・変更するValue値。
上画像の例では、「左スティック押し込み中のみ移動速度が3倍」という挙動になります。
また、Script自体をオンオフしたい場合にもホットキーは設定可能です。
この画像の例では左+右スティック押し込みするたびにScriptがオンオフするという挙動になります。
ホットキー設定後はCTをFile→Save(Ctrl+S)しておきましょう。
よく使うチートに対してホットキーを設定しておくと快適に遊べそうです。
5.3 CTファイルの統合(コピペ)
大作ゲームにおいては有志により複数のCTが投稿されることも多く、使いたいチートがばらけてることがあります。
それぞれのCTを開いてプロセス適用すればどちらも使用可能ですが複数CTを操作するのは手間がかかります。
そういう場合は複数のCTファイルを一つにまとめることも可能です。
大抵のCTは大元の項目を開くとチートリストが開くという作りなので、大元の項目をコピーして他のCT上にペーストするだけです。
画像は極端な例ですが、有用なチートがばらけてる場合にまとめておくと便利です。
また、例えば複数のゲームで頻繁にチートを使うなら一つのCTに複数のゲームのCTを統合しておいて、プロセス適用だけで使うチートを切り替えるという使い方もできそうです。
-2024/10/29
テスト