3

具体的には、同じセッション内の 2 つのプロセスで kernel32.dll のロード アドレスが異なる可能性があるかどうかを知りたいですか? createremote スレッドを使用したいので、リモート プロセスの kernel32 ロード アドレスが任意のシナリオで注入プロセスと異なる可能性があるかどうかを知りたいですか?

4

2 に答える 2

2

Kernel32.dll は、すべてのプロセスで同じベース アドレスを使用して、実行したいことを正確に許可します。読む:特定の DLL がシステム全体で同じベース アドレスにある必要があるのはなぜですか?

于 2011-07-18T12:22:50.980 に答える
0

システム DLL はセキュリティ上の理由からランダム アドレス (ASLRed) に読み込まれるため、リモートの攻撃者はシステムのコードのビットがメモリ内のどこにあるかを推測できません (つまり、リモートの攻撃者はコンピューターのポインターを推測できません)。

これは起動ごとに 1 回発生するため、kernel32 はシステム全体のすべてのプロセスで同じアドレスにロードされます。

于 2012-06-19T20:48:19.357 に答える