【发布时间】:2008-12-18 16:17:39
【问题描述】:
我正在开发一个用于 .NET 程序集的静态分析工具。 在 Java 中,有一个 Descriptor 可以用来表示具有指定语法的字符串中的方法或字段。
对于字段:
double d[][][];
将会
[[[D
在进行字节码分析时尤其有用。因为这很容易描述。如果.NET CLR 中有类似的东西?还是有更好的方法来实现这一目标?谢谢!
【问题讨论】:
我正在开发一个用于 .NET 程序集的静态分析工具。 在 Java 中,有一个 Descriptor 可以用来表示具有指定语法的字符串中的方法或字段。
对于字段:
double d[][][];
将会
[[[D
在进行字节码分析时尤其有用。因为这很容易描述。如果.NET CLR 中有类似的东西?还是有更好的方法来实现这一目标?谢谢!
【问题讨论】:
去年我在 .NET CIL 中做了很多静态分析,最好的方法是使用 ildasm.exe 或任何反汇编程序,它们可以为您提供一些非常容易解析的 IL 语言文本文件。你会发现,不需要对任何东西进行逆向工程,你会发现 .NET 并没有那么编译。
如果你对 IL Assembler 很认真,这里有一本好书推荐:Expert .NET 2.0 IL Assembler
【讨论】:
嘿,谢谢文森特。我现在使用一个类来表示“返回类型+参数列表”信息,而不是字符串中的描述符。谢谢你推荐的书。是的,我使用 ildasm.exe 并读取程序集的内部。在我的项目中,我使用 Cecil 挖掘所有内容。
【讨论】: