通过ASP .Net中的反射探测Dll

时间:2011-10-01 02:12:35

标签: asp.net .net dll reflection

我一直试图通过使用ASP .Net和反射(?)编写程序来找到有关dll技术和exe发现的更多信息。我找不到任何东西。

我知道有反汇编程序,但我对运行其他工具和反汇编代码不感兴趣,我更感兴趣的是了解如何编写一个程序,该程序采用未知文件或可执行文件,并确定其中的属性和方法是上市。

我刚刚开始寻找这个,并且想知道有什么好的资源来启动学习过程。

1 个答案:

答案 0 :(得分:0)

  

我更感兴趣的是了解如何编写一个带有未知文件或可执行文件的程序,并确定其中的属性和方法是公开的。

反思是一种很好的方法。如果您不想要完整的代码说明,可以参考以下几个提示。

  1. 您可以使用Assembly.ReflectionOnlyLoad加载现有的程序集。这仅适用于.NET程序集。 LoadReflectionOnlyLoad之间的区别在于Load加载允许您使用它的程序集,就像在该程序集中的类型上执行方法一样。当您只想查看程序集中的内容而不执行任何代码时,ReflectionOnlyLoad非常有用。 ReflectionOnlyLoad的另一个优点是它不关心汇编汇编的平台。

  2. 获得程序集后,可以使用GetExportedTypes之类的方法获取所有公共类型的列表。如果您想要公开和非公开,您可以只使用GetTypes()。

  3. 现在我们已经加载了程序集,并列出了所有类型。 Type类有几个成员用于处理该类型。想到GetMethods和GetProperties。

  4. 您可以参考this MSDN文章,了解反思的更一般概述。