悪意のあるコードを検出するプロセス スキャナーを作成したいと考えており、メモリに読み込まれた PE 実行可能ファイルのすべてのセクションをスキャンする必要があります。私はそれを行う方法を考えていました.2つの実行可能な解決策があるようです:
- ReadProcessMemory
長所: 使いやすい 短所: メモリを読み取ってバッファにコピーする必要がある、バッファが限られているため、プロセス メモリ全体を読み取ることができない、一度にバッファにコピーされるメモリの「ウィンドウ」が小さいため、検索も難しい
- DLL をプロセスのメモリに挿入する
長所: プロセス メモリに直接アクセスでき、コピーは不要です。短所: 「注入」はいくつかのセキュリティ プログラムによって嫌われており、かなりトリッキーな方法です。さらに、プログラムが処理する必要があるデータもコピーする必要があります。
私の質問は次のとおりです。別のプロセスのメモリの完全なメモリスキャンを実行する別の方法はありますか (それを行う権限がある場合)。そうでない場合: 一度に 1 つの小さな「ウィンドウ」を読み取る必要がある場合、メモリ全体をスキャンする必要性にどのように対処すればよいですか?