首先,我知道1. 是否可以从我的AppDomain导出DLL定义? 2. 是否可以将动态组件保存到磁盘? 3. 如何从内存转储中提取DLL文件?
但这些似乎都没有回答我的问题.
请考虑以下情形:C#应用程序从内存流加载DLL(因此DLL不直接向用户公开).是否有一个工具明确允许以特殊形式将特定DLL从内存转储或导出到磁盘?
注意:我希望有人向我展示从C#应用程序的内存转储中提取完整DLL的完整分步过程.
具有托管调试扩展的WinDbg能够实现这一功能.首先,下载WinDbg(谷歌microsoft debugging tools for windows,它们不是独立的下载,而是其他套件的部分).
下一部分是安装psscor2扩展(从https://www.microsoft.com/en-us/download/details.aspx?id=1073)并将其解压缩到WinDbg所在的文件夹.
接下来,运行您的程序并将WinDbg附加到它(它在菜单中).输入以下命令:
.load psscor2!SaveAllModules c:\modules\找到你想要的模块并享受.
| 归档时间: |
|
| 查看次数: |
2641 次 |
| 最近记录: |