Cheat Engine
作者 | エリック・"ダークバイト"・ハイネン |
---|---|
開発元 | オープンソース |
最新版 |
7.5
|
リポジトリ | https://github.com/cheat-engine/cheat-engine |
プログラミング 言語 | Lazarus, C(カーネルモジュール) |
対応OS | Windows, macOS |
対応言語 | 英語 |
種別 | リバースエンジニアリング、デバッギング |
ライセンス | Adaptive Public License |
公式サイト | Official Website |
Cheat Engine(略称:CE)とはエリック・ハイネン(ダークバイト)が開発したWindowsに対応したオープンソースのメモリスキャナ/バイナリエディタ/デバッガである[1]。主にコンピュータゲームのチートに使用されるが、コンピュータウイルスの解析など、リバースエンジニアリング用途でも活用されている。L・スパイロの"Memory Hacking Software"、TSearch、ArtMoneyと類似している。ユーザーはコンピュータのメモリを通して検索やソートすることができる幅広い種類のオプションを使ってユーザーが入力した値を検索する。またCheat Engineの独立した動作を可能にするスタンドアロンのトレーナーを作成することもできる。
機能
[編集]Cheat Engineはプロセスの逆アセンブルされたメモリを表示したり、限りない正常性、時間もしくは手段といったユーザーのアドバンテージを与えるために改変を加えることができ、またいくつかのDirect3Dマニピュレーションツールを備えることでウォールを通した参照、ズームイン・アウト、マウスを動かすことで画面の真ん中において特定のテクスチャを得るためのいくつかの特別な環境設定が可能となっている。エイムボットの作成に使用されることが多い。
他のプロセスにコードを挿入することができるが、アンチウイルスソフトウェアがウイルスと誤認してしまうことがあるため、多くの機能(コードインジェクションに依存する機能)を使って認証を偽ることで回避することのできるバージョンも有る。その偽の認証を最も一般的な方便はCheat Engineがシステムの一部にアクセスできるようにするためのトロジャン・ルートキットで使用されるいくつかの手法を使うことで生成するが、実行可能ないくつかのファイルが非常に小さいため(16KB以下)、疑わしいフラグを取得することになる。Cheat Engineのもっと新しいバージョンではアンチウイルスソフトウェアのブロックを受ける可能性が低くなっているため、コードインジェクションも問題なく使用出来る。
バージョン6.1以降ではテーブルからゲームトレーナーを生成することができる。Cheat Engineによって生成されたトレーナーは大きく肥大化していて遅いため主にテスト目的に使用される。しかし、有名なトレーナーグループが自身のを公開するために使用されている[2]。
コーディング
[編集]Cheat Engineには2種類あり、Cheat Engine DelphiとCheat Engine Lazarusがある。Cheat Engine Delphiは主にWindows XP用の32ビットで、Cheat Engine LazarusはWindows Vista用の32、64ビット向けに構築されている。またObject Pascalでコードされたカーネルモジュールの例外でもある。
インタフェースをdbk32.dll
というCheat Engineのドライバをロードと初期化両方処理し、別のWindowsカーネル機能を呼び出すラッパーを使って自身のデバイスドライバで公開する。ブロックを試したり除外したりする時におけるLazarusにあるプログラミングバグが原因でCheat Engine Lazarusはdbk32.dll
の使用ができず、主に実行可能なドライバ機能を組み込まなければならない。
通常のCheat Engineに必要ではないカーネルモジュールはハードウェアブレークポイントを設定したりRing 3、もしくはRing 0においてフックされたAPIを通過するために使用される。これはWindowsのソフトウェア開発キットでコンパイルされていて、C言語で書かれている[3]。
またコミュニティにソースコードを共有されたくない人達向けのプラグインアーキテクチャを備えていて、Cheat Engineを一般的なチートツールに位置づけているゲームの特定機能として使用されることが多い。これらのプラグインはチートエンジンや他のゲームのウェブサイトといった複数の場所で掲載されている[4]。
Cheat Engine LazarusはDBVMという数人の開発者によって開発されたユーザーモード (en) からカーネル空間へのアクセスが出来る仮想マシンを使ってWindows Vista x64 editionにおいて署名されていない64ビットデバイスドライバをロードすることができ、手動で実行可能なイメージをロードするカーネルモードにおいて非ページメモリを配分したり、システムスレッドをドライバエントリで作成するのに使用される。しかし、ドライバエントリのパラメータは実際は有効ではなく、ドライバはDBVM向けに修正されなければならない。
脚注
[編集]- ^ “About Cheat Engine”. www.CheatEngine.org. 2008年3月20日閲覧。
- ^ “CE Trainers Mass Use”. Deviated Trainers (2012年5月18日). 2012年5月18日閲覧。
- ^ Valk, Kevin (2008年12月20日). “Cheat Engine - Trac - compileinfo.txt”. Cheat Engine trac. 2008年3月20日閲覧。
- ^ “Contributing to CE”. Cheat Engine forums (2007年1月24日). 2008年3月20日閲覧。
外部リンク
[編集]- Official Website
- 7.5のアドフリーインストーラー
- Official Community Forum Cheat Engine Forums (CEF) として知られる
- Official Wiki