我正在使用beta 7.2反射器,当我试图反映一些exe文件时,我看到了这条消息。这是什么意思?
感谢
答案 0 :(得分:6)
这意味着EXE不是.NET assembly.它是标准的Windows可执行文件或COM可执行文件。
例如,用VB6编写的程序不是.NET程序集;它们不包含您期望.NET程序集包含的metadata。
答案 1 :(得分:3)
如果它真的是一个.NET程序集(作为你后来的一些评论,基于Spy ++的信息,建议),那么它可能会被混淆。一些混淆器可以修改程序集元数据流,使它们看起来对ildasm和Reflector都无效,而CLR仍然可以加载它们,因为它没有做那么多的验证。
HTH,
巴特
答案 2 :(得分:0)
.Net Reflector只能反编译.NET程序集。我的猜测是可执行文件不是.NET可执行文件,因此Reflector无法加载它。
答案 3 :(得分:0)
我认为它正在寻找一个CLI标头,表明.exe实际上是一个.NET程序集,它看起来不像你有资格的那个。
答案 4 :(得分:0)
您正在尝试反映COM或本机可执行文件/动态链接库,而不是.NET程序集。反射器不能那样做。还有其他用于检查COM资源的工具,尽管它们不像Reflector在.NET程序集上那样完全解组。