|
分類:[C#]
現在C#で自作でSLGゲームを作成しております。 ゲーム自体はほぼできています。
そして今回作成したいのは、デバッグ用の外部アプリです。 例えて言うなら、市販ゲームによくある改造プログラムみたいなものでしょうか。 リアルタイムでメモリ上のデータを書き換えていくやつです。 三国志で兵士数を増やすとか金を増やすとかですね。
ゲームのデバッグ作業用にそういったパラメータを自由に変えつつテストしたいのでそういう外部アプリを作りたいのですが 特定のメモリ上のデータをどうやって弄ればいいのかわかりません。 ゲーム自体にデバッグモードでも組み込めば早いと思われるでしょうが デバッグモードが存在するという事自体がどうも好きではないので、完全に外部にしたいと思っています。 コンシューマのゲームでも改造コードでデバッグモード出現とかありますが・・・ 汎用のメモリエディタでもできますが、デバッグの手間を考えて専用ツールを作りたいです。 汎用のだと自分自身でアドレスを探してどうこうが必要ですが、ゲーム専用なら最初から○○項目を変更 みたいな入力ボックスでできますので。
それでいざ作成しようと思ったんですが、他アプリが使用しているメモリ領域へのアクセス及び改変方法がさっぱりわかりません。 C#でそういうことは簡単に実装できるでしょうか? C++でないとアクティブなメモリ操作は無理でしょうか? 自作ゲームですが、そもそもどうメモリに展開されるかすらよくわかりません。 自分自身のプログラムからならメモリアドレスなんて気にせずに変数でアクセスすればいいので簡単なんですが 外部アプリから値を変更したい場合一体どうやって見つけ出し、値を書き込むんでしょう?
|