我想知道是否有可能,如果可以的话 - 如何将动态加载的.net程序集(它是从字节数组而不是文件加载的)保存到磁盘上的文件中(exe/dll取决于程序集),并直接使用它(即如果它是exe,则它将包含所有exe头文件并可运行或至少是“可反射的”)。
此外,加载的程序集实际上是否会像在文件中一样完全存储在内存中,即所有PE EXE头文件、资源等都存在于内存中,还是以不同的方式存储在内存中,因此将无法将某个内存区域保存为dll/exe .net程序集?也就是说,如果我可以使用图像的类比:您可以将jpeg文件加载到内存中作为位图,其中在内存中表示图像的实际字节将与表示jpeg文件的实际字节非常不同。那么加载程序集是否也是如此?
最后,如何获取程序集实际位于进程内存中的内存地址(指针)?
仅澄清一下:我没有任何访问通过Assembly.Load()加载程序集的初始字节数组的权限。
这里有一个相关问题,但从答案中并不清楚是否有一种方法可以将通过字节数组加载的汇编代码从内存中转储到磁盘文件中。谢谢。
此外,加载的程序集实际上是否会像在文件中一样完全存储在内存中,即所有PE EXE头文件、资源等都存在于内存中,还是以不同的方式存储在内存中,因此将无法将某个内存区域保存为dll/exe .net程序集?也就是说,如果我可以使用图像的类比:您可以将jpeg文件加载到内存中作为位图,其中在内存中表示图像的实际字节将与表示jpeg文件的实际字节非常不同。那么加载程序集是否也是如此?
最后,如何获取程序集实际位于进程内存中的内存地址(指针)?
仅澄清一下:我没有任何访问通过Assembly.Load()加载程序集的初始字节数组的权限。
这里有一个相关问题,但从答案中并不清楚是否有一种方法可以将通过字节数组加载的汇编代码从内存中转储到磁盘文件中。谢谢。