可能であれば、動的にロードされた .net アセンブリ (ファイルではなくバイト配列からロードされた) をディスク上のファイル (exe/dll に応じて) に保存する方法を知りたいです。アセンブリ) であり、直接使用できます (つまり、exe の場合、すべての exe ヘッダーが含まれ、実行可能または少なくとも「反射可能」になります)。
また、ロードされたアセンブリは、実際にファイルに表示されるのとまったく同じようにメモリに保存されますか、つまり、すべての PE EXE ヘッダー、リソースなど、つまり、本質的にメモリ内の exe/dll ファイルですか、それとも別の方法でメモリに保存されますか?メモリの一部の領域を dll/exe .net アセンブリとして保存できますか? つまり、画像からの類推を使用できる場合: jpeg ファイルをビットマップとしてメモリにロードできます。メモリ内の画像を表す実際のバイトは、jpeg ファイルを表す実際のバイトとはまったく異なります。アセンブリのロードと同じですか?
最後に、プロセスのメモリ内でアセンブリが実際に配置されている場所へのメモリ アドレス (ポインタ) を取得するにはどうすればよいですか?
明確にするために、Assembly.Load() を介してアセンブリが読み込まれた最初のバイト配列にアクセスすることはできません。
これは関連する質問ですが、バイト配列を介してロードされたアセンブリをメモリからディスク上のファイルにダンプする方法があるかどうかは、回答から明らかではありません。
ありがとうございました。