Cheat Engineのポインタースキャンを使おう!

Cheat Engineのポインタースキャンの使い方を、チュートリアルを用いて解説します。
チュートリアルはメニューバーのHelpから起動できます。



右下のSkipをクリックしてStep8まで進めてください。

Step8はマルチレベルポインターについてです。
ポインタースキャンで見つけたポインターの値を5000で固定し、Change pointerをクリックすれば、Nextボタンが押せるようになり、次のステップに進めます。
4レベルポインターです。
オフセットを4つ持っているポインターのことを4レベルポインターと呼びます。

手順は以下の通り
1.  値を見つける(value 1)
2. value 1のポインターマップを作る(マップ1)
3. Chage pointerをクリックし、ポインターを変更する
4. 再度、値を見つける(value 2)
5. value 2のポインターマップを作る(マップ2)
6. マップ1とマップ2を使いポインタースキャンをする
7. スキャンして見つけたポインターの値を5000に固定する
8. Chage pointerをクリックする

ポインタースキャンの目的は、いつ起動しても使える安定的なポインターを見つけることです。
ポインターマップとは、現在そのプロセスで使われているすべてのポインターのスナップショットのことです。
2つのポインターマップを使ってスキャンすることで作業効率が良くなります。
これは実際のゲームでも同じです。
 

それでは始めていきます。
Value:に現在の値を入力しFirst Scanをクリックします。


Change valueをクリックし、値を変更します。


真ん中のアドレス01921208の値が1912になりました。
これをアドレスリストに追加し、Descriptionを「value 1」に変更します。


value 1の行を右クリックからGenerate pointermapを選択します。


ポインターマップのファイル名を入力します。
ここでは「step8 map1 01921208」にしました。
ポインタースキャン用のフォルダを作り、そこに作成しています。


Change pointerをクリックし、ポインターを変更します。
もう一度value 1の時と同じ手順で値を見つけ、Descriptionを「value 2」にします。
そうするとアドレスリストは下画像のようになっていると思います。


ここからvalue 2の行を右クリックからGenerate pointermapを選択し、2つめのポインターマップを作成します。


2つめのポインターマップ名は「step8 map2 018AD920」にしました。


value 2の行を右クリックからPointer scan for this addressを選択します。


画像赤枠のUse saved pointermapにチェックを入れます。


018AD920に対応するポインターマップは2つ目に作ったポインターマップです。
したがって「step8 map2 018AD920.scandata」を選択し、開くをクリックします。


画像青枠のCompare results with other saved pointermap(s)にチェックを入れ、
赤枠のアイコンをクリックして比較するポインターマップを選択します。


マップ1を選択し、開くをクリックします。


プルダウンメニューから01921208=value 1を選択します。
マップ1に01921208=value 1
マップ2に018AD920=value2
となっています。


ポインタースキャンをする準備ができたのでOKをクリックします。
その他にも設定項目がありますが、ここではデフォルトのまま行います。
よく使う設定は以下の4つです。

Max different offsets per node
この数字を大きくすることでヒットするポインターの数が増え、スキャン時間も長くなります。
デフォルトでは3になっていますが、2にするだけで大幅にスキャン時間を減らすことができます。
まずは2から始めるのがおすすめです。
Pointers must end with specific offsets
最終オフセットが分かっている場合に入力することで、検索範囲を絞れます。
Maximum offset value
最大オフセット値を10進数で入力します。
Max level
ポインターパスの深さ、最大レベルを入力します。


ポインタースキャン結果のファイル名を入力します。


ポインタースキャンが完了しました。
見事に1つだけに絞り込まれています。
ダブルクリックしてアドレスリストに追加しましょう。


pointerscan resultがスキャンで見つけたポインターです。
435のあたりをダブルクリックして値を5000に変更し、
Activeにチェックを入れます。


Change pointerをクリックします。


Nextボタンが押せるようになりました!
これでStep8はクリアです。

スキャン結果をソートする

Max levelを5でスキャンした場合、スキャン結果のウインドウで一番右のオフセットが6になっているので、
そこをクリックするとオフセットの少ない順にソートできます。
実際のゲームではポインターが100~1000以上見つかるはずなので、
そのような時に少ない順にソートして上から順に使えるかテストしていけば効率がよいです。

関連記事

2 Comments

-  

こんにちは
すごく参考になります。。
ですが私がやっているゲームは
数値を検索し値を変更→固定の枠をチェックしても
変更した数値と元々の数値に高速で戻ったりします。
攻撃速度などの数値の絞り方がどうしてもわからず困っております。
どうか手助けをしていただけないでしょうか
スピードハックでもいいのですがスピードハックですと
サーバーが耐えきれないのか、すぐにダウンしてしまいます。
スペックは申し分ないのでサーバーが原因だと判断しました。
どうかお力をお貸しください

2020/08/07 (Fri) 02:58 | REPLY |   
ヌメリック

なんでもチート  

To -さん

コメントありがとうございます。
私も移動速度のチートは少しだけ挑戦したことがあります。
ゲームによって違うかもしれませんが、最終的にfloat型の値が見つかるはずです。
multiplier(乗数)と呼ばれるもので、速い時は1.8、遅い時は0.8とかそんな感じでした。
攻撃速度も似たような感じだと思います。
以下の手順を踏めば見つかるかもしれません。

まず攻撃速度の遅い武器を装備して、unknown initial valueでスキャン
攻撃速度の速い武器を装備し、increased valueでスキャン
攻撃速度の遅い武器を装備し、decreased valueでスキャン
この流れをある程度絞り込めるまで繰り返します。
これで見つからなければ、
攻撃速度の遅い武器を装備して、unknown initial valueでスキャン
攻撃速度の速い武器を装備し、changed valueでスキャン
攻撃速度の遅い武器を装備し、changed valueでスキャン
途中でunchanged valueもはさみながらやると効果的です。

また固定しても値がすぐ戻る現象については、その値に書き込んでいる命令を潰してみると何かわかるかもしれません。

2020/08/07 (Fri) 21:53 | REPLY |   

Post a comment