2011-06-20 11 views
2

さて、私は整数を持っていると言うことができます。 プログラムを実行すると、その整数はアドレスを取得します。お問い合わせ

意味があります。

しかし、そこには多くのプログラムがあります。ゲームのハックを作成するときに、地雷探知機がそのデータが格納されている場所のアドレスを見つけて変更すると言うことができます。

しかし、...そのハックは、ちょうどいくつかのアドレスを変更する単純なハック...すべてのコンピュータと毎回動作します。

質問は、そのデータが毎回同じアドレスになっていることです。 私のコンピュータには、約30のexeが現在実行されています。 他のプログラムでそのアドレスを使用しないでください。もし彼らがその住所を望むなら?なぜそのハックは毎回動作するのですか?なぜ他のプログラムがその同じアドレスを望んでいないのですか?どのように毎回働いているのですか?

答えて

2

すべてのアプリケーションは、マルチタスクオペレーティングシステムでその問題を克服するために、それ自身の仮想アドレス空間(32ビットマシンでは4GB)を取得します。

ここにはかなり良いarticleが含まれています。

あなたの「ハック」はおそらくOpenProcessのようなものを使ってプロセスを見つけていて、WriteProcessMemoryを使ってメモリを編集しています。それが「すべての」マシンで動作する理由です。

2

基本的に、あなたは約virtual memoryを読む必要があります。仮想メモリの目的は、物理アドレス空間を抽象化して、各プロセス(すなわち、各アプリケーション)に独自の「仮想」アドレス空間を与え、記述する問題を回避することです。

1

あなたの掃海艇は、指定された静的アドレスに格納されたデータを操作することで構成されている場合、すべてのコンピュータで動作する方法はありません。プログラムメモリの割り当てはOSによって異なります。

+0

次に、すべてのコンピュータでゲームハッキングが機能する理由を説明します。編集:Windows 7のハックはWindows 7では動作しますが、別のOSでは動作しませんか? – Foresp

+0

はい、いいえ。その可能性はWindows 7同様のアプリケーションのための同じアドレスを割り当てます..でも、それは非常に可能性はありません。私はゲームのハックがそのように動作するのを疑う。彼らは、おそらく彼らのプロセスを扱うことによって必要なアドレスを見つけるでしょう。 –

関連する問題