前提
この記事は違法なチート行為を推奨するものではなく、あくまで技術的な知識を提供するものです。
実際に行った場合、ゲーム会社から訴訟される場合がありますので絶対に行わないようにしてください。
Unispectとは
Unityで作られたゲームのオフセットや構造をdumpして、ユーザーに見える形で解析することのできるツールです。
Razchekによってgithubでソースが公開されています。
https://github.com/Razchek/Unispect
画像出典:https://github.com/Razchek/Unispect
なんの為?
ずばり言うとチートアプリケーションの作成のために使われます。
Unispectを使用することでオフセットなどを取得することができるため、それを使用してメモリを読んだり書いたりができます。
内部の場合、(名前空間).(クラス名)のような形でUnispectがdumpしてくれるので、事前にオフセットを用意せずともクラス名を直接弄ったりすることにも応用できます。
使い方 その1
githubからリリースをダウンロードします。
https://github.com/Razchek/Unispect/releases
ソースからコンパイルもできます。
https://github.com/Razchek/Unispect
.NETなので、Visual studioでC#開発環境をセットアップしてコンパイルできます。
使い方 その2
コンパイルしたら実行します。
すると、以下のようなウィンドウが出てきます。
これさえ説明すればわかるかもしれません。
Output fileは出力先のテキストファイル
Process Handleはゲームの名前(ウィンドウ名)
です。
Targetは変えないでも使えます。
使い方 その3
Outputを設定
Process Handleにウィンドウ名を入力してください。(ABCDならABCD)
GOの下のSave to Fileにチェックを入れてGOを押してください(チェックは任意)
そしたら画像のようになります。(画像ではoutputをカラにしている)
私のテストしたゲーム(自作)はMONOで保護されていましたがdumpが成功しました。
SAVE TO FILEを押してセーブしましょう。
使い方 その4
ここからが大変です。
自分のお目当ての関数を見つけましょう。
私の場合、探していた関数はこのような形式でした。
[E8]と書いてあります。これがオフセットです。
実際に使うときは、0xE8として使うことができます。
おめでとうございます。これであなたは不正行為をしました。
あとがき
今回はunispectの簡単な使い方を解説しました。
不正行為は絶対してはいけないので、良い子ならばやらないでおきましょう。