gpt4 book ai didi

c# - 如何查看程序集的动态加载代码?

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:17 24 4
gpt4 key购买 nike

我的代码正在接收字节数组以通过 WCF 服务构建程序集。

最终我创建了我的程序集对象:

Byte[] bytesFromWCF = ... // here I receive the bytes via WCF.
Assembly myAsm = Assembly.Load( bytesFromWCF );

此字节数组来自托管在网络服务器中的 MSIL 文件。我没有直接访问该文件的权限。此 MSIL 文件的方法使用属性 DebuggerHidden() 修饰。

我的问题是是否有某种方法可以在运行时查看动态加载到 myAsm 中的代码?

我的意思是方法的代码。通过反射,我可以访问类型、创建实例、调用方法等,但我对分析源代码很感兴趣。

最佳答案

分析程序集源代码的一种简单方法是将字节数组保存到文件并将下载的文件加载到 .NET 反编译器(dotPeek.NET Reflector 等)。

将字节数组保存到文件中可以通过IO Namespace来实现:

byte[] bytesFromWCF = ... // here I receive the bytes via WCF.
System.IO.File.WriteAllBytes("mylib.dll", bytesFromWCF);
var myAsm = Assembly.Load( bytesFromWCF );
...

关于c# - 如何查看程序集的动态加载代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30106234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com