如何保存存储在内存中的动态生成的程序集?

Dan*_*iel 12 c# dynamic-assemblies

我希望通过将其保存到光盘或在运行时反映它来获得装配.程序集由第三方在内存中动态生成.

有谁知道如何做到这一点?

lep*_*pie 0

您可以使用 WinDbg 中的 SOS 来执行此操作。

问题是找到模块。

如果您确实掌握了它,可以使用“SaveModule”命令将模块/程序集转储到文件。

祝你好运 :)

  • 您仍然可以调试动态程序集(尽管您会丢失一些细节和可能性 iirc)。只是动态模块不是 msdbg 可以转储的 PE 形状,直到它们真正保存到磁盘为止。它们在 CLR 中有自己的自定义表示。 (3认同)
  • 您不知道该限制这一事实并不会使该限制变得不那么真实。动态创建的程序集没有可以像 Windbg 中加载的任何 PE 模块一样进行交互的模块。它们没有您可以使用的基地址,并且您无法转储它们。 (2认同)