2010-12-19 8 views
4

TSearch、Cheat Engineなどのツールがあります。これらは、別のプログラムのメモリの一部を表示および変更するためのハッキングプログラムです。プログラムが別のプログラムのメモリを参照するようにする

他のプログラムのメモリを見たり修正したりできるC++プログラムを作成するにはどうしたらいいですか?私が探しているべきことのいくつかは何ですか?

+6

OSは必ずしもこれを行うわけではありません。 –

+1

ウィンドウの 'WriteProcessMemory'は始点かもしれませんが、ライターのプロセスには十分な特権(デバッグ)が必要です。 – khachik

答えて

7

これはC++の機能ではなく、OS自体の制御下にあります。

たとえば、WindowsではReadProcessMemory() APIコールが提供されているため、別のプロセスのメモリを少しでも手に入れることができます。そしてもちろん、equivalent for writingも同様です。さらにダメージ:-)

これはすべて正しい権限も必要です。

Linuxがこれをどのように提供しているのかよく分かりませんが、以前のUNIXでは/dev/memのような "メモリマッピング"ファイルがありましたので、メモリにアクセスできます。 procfsファイルシステムには、特定のプロセスの仮想メモリにアクセスできるプロセスごとのバリアントが存在する場合があります。それは私が見始める最初の場所だろうがここに他の人が間違いなくそれについてもっと知っているだろう。

2

これを行う方法の1つはwrite your own debuggerです。

これは簡単ではありません。がんばろう。

関連する問題