あるプロセスが他のプロセスのメモリを読み取ることはできないと思いました。しかし、 「RAM エディター」を備えた「 WinHex 」という名前のアプリケーションを見てショックを受け、メモリ全体にアクセスできるようになりました。すべてのプロセスの。
そんなことがあるものか?また、他のプロセスのメモリを変更することもできます。これは悪意にはなりませんか?
あるプロセスが他のプロセスのメモリを読み取ることはできないと思いました。しかし、 「RAM エディター」を備えた「 WinHex 」という名前のアプリケーションを見てショックを受け、メモリ全体にアクセスできるようになりました。すべてのプロセスの。
そんなことがあるものか?また、他のプロセスのメモリを変更することもできます。これは悪意にはなりませんか?
おそらく、このツールは、PROCESS_VM_READ アクセスを必要とするReadProcessMemoryまたは何らかのバリアントを使用します。
「悪意のある」コメントに関しては、あなた (またはこの API を呼び出すプロセス、おそらく管理者レベルのアクセス許可が必要) が既にマシンを完全に制御していることを思い出してください。この時点で、セキュリティ ゲームはすでに失われています。
これは、オペレーティング システムによって付与された適切な特権を持つプロセスが実行できることの 1 つです。プロセスは、原則として他のプロセスのメモリにアクセスできません。実際には、基盤となるオペレーティング システムは通常、このメカニズムを特権プロセスに提供します。
他のプロセスのメモリへのアクセスは簡単です。Windows Driver Kitを使用して、すべてにアクセスして変更する
こともできます。
たとえば、ルートキットをチェックして、プログラムの権限を制限しない場合の OS の脆弱性を確認してください。
管理者として実行している場合は、すべてのメモリを読み取る権限を取得できます。WinHex があなたに代わってこれを行っているようです。
より制限されたアカウントでこれを試しましたか?
DLLインジェクション技術を使用していると思います。
詳細については、 http://en.wikipedia.org/wiki/DLL_injectionを参照してください。