- ベストアンサー
デバッガーとか
WindowsXP64bit上から、絶対アドレス番地指定で、メモリーの書き込みバイナリーデーターを参照出来るフリーソフトを教えてください。例えば、実際の物理的なアドレスの最初の00000000番地を参照出来るツールです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
WinXPでは「実際の物理的なアドレス」と言うのは余り意味がありません。 実メモリのどこを誰が使っているかは、OSのカーネルのみが管理していて、実メモリの使用状況に応じて仮想メモリにスワップアウトされたり、仮想メモリからスワップインしてきます。 ですので、実メモリのどこを誰が使っているかは、アプリ側からは判りません(と言うか、実メモリはプロテクトされていて参照する事さえ出来ません) メモリ内容を下手に変更してPCを再起不能な状態にする前に、最低限「プロセス」「アタッチ」「仮想メモリ」「論理メモリ空間」「コードメモリ」「データメモリ」「ヒープメモリ」について理解して下さい。 で、本題ですが、やりたいのは「実行中の特定のプロセスにアタッチして、そのプロセスが動いている時の論理メモリ空間の『特定のアドレス』のメモリを参照したい」と言う事だと思います。 そういう場合は「ゲームの実行中に、メモリの内容を書き換えたり、ある値に固定したり、内容を参照して、ゲーム上でズルをするツール」を使用すると良いでしょう。 例えば http://www.vector.co.jp/games/soft/win95/game/se181914.html などを使うのも良いでしょう。 探せば「似たようなゲーム用ツール」がいっぱいあるので、目的に合ったのを探してみて下さい。
その他の回答 (1)
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
デバッガでもよいのですね? それであれば、Microsoftが提供している純正デバッガWinDbgがお勧めです。 Debugging Tools for Windows - 概要 http://www.microsoft.com/japan/whdc/DevTools/Debugging/default.mspx の「Debugging Tools for Windows 64 ビット バージョンのインストール」から、x64用デバッガ(&大量のツール)のパッケージをダウンロードすることができます。 なお、そのダウンロードページでは先にItanium向けがあるので、そちらをダウンロードしないように注意してください。x64向けはページのいちばん最後にあります。 インストールしたらWinDbgを起動し、File→Kernel Debug...→「Local」タブ→OKを選択すると、現在実行しているシステム上のほとんどあらゆる設定を参照することができます。 この状態で、Commandサブウィンドウのいちばん下に「lkd>」というプロンプトが出るので、そこに「db /p 0」と入力すると物理アドレス0からバイトダンプが行われます。コマンドの意味は「ダンプ(d)、バイト単位(b)、物理アドレス(/p)、アドレス0から(0)」です。 終了したい場合はウィンドウを閉じるか「q」コマンドを入れます。 その他のコマンドの説明は、一緒にインストールされるヘルプファイルにあるのでそちらをお読みください。ただし全部英語です。
補足
いきなり冒頭から質問の目的を変えないで下さい。 そして、自分は、ゲームオタクではありません。