私はOllyデバッガを使って遊んでいました。私はまだウィンドウについて知ることができ、Mボタンを押してそのメモリマップウィンドウをポップアップさせました。だから私はその件に関するいくつかの記事を検索し、私が実際に試した64Kより上のアドレスに書き込むことができることを知りました。なぜうまくいかないのでしょうか。下位2GBの容量について:windows process memory layout
なぜこのようなギャップがありますか?たとえば、0x10000-0x1FFFFのR/Wableスペースがある場合は、128Kが無くなり、次に読みやすいスペースがいくつかあります。これはすでにページされていることを意味しているので、物理的な空間のようなものが過去に存在していたかどうかは問題ではないはずです(0x20000-0x40000はr/wと大丈夫です)。ランダムにいくつかのアドレス空間を使用する? 私はちょうど混乱しています。なぜなら、ollyデバッガからのそのメモリマップでは、列に 'Contains'と書かれている行が空になっているからです。おそらく、私はちょうどollyからこのメモリマップに対して置くことができ、どのような空間がどのような目的を持っているのかを調べることができ、このようにページングされているかどうかを知ることができるでしょうか?
メモリ管理については何の問題もありませんが、ヒープを使用せずにその下位メモリを使用してWindows用のプログラムを作成しても問題ないのですか?
この質問をお読みいただきありがとうございます。
EDIT
ああhere我々は0x10000番地で何で行くと、そのページが書き込み可能聞かせている理由は、おそらくもあります。
OS上で調べてください:) – Adrian
これは私がこれでやっていることです: – Pyjong
あなたの最後の質問について...私はあなたが保護されたメモリに書き込むことはできません。それはOSに依存します。だから、OSを作って、Windowsがそのメモリをどのようにマップするかを読んでください。(あなたがOllyに言及してから勝つと思います) – Adrian