我在 .net 3.5 SP1 中有一个相当大的程序,它编译得很好。但是,当我想用 Obfuscator Pro 混淆它(现在评估)时,Obfuscator 停止并出现以下错误:
[构建输出] 此应用程序已请求运行时以不寻常的方式终止它。
[构建输出] 请联系应用程序的支持团队以获取更多信息。
[构建输出] ilasm 返回 3
[构建输出] 构建错误。
由于错误来自 ILASM,我想让我们做 Obfuscator 所做的事情(没有混淆)并执行以下命令:
=> ildasm.exe /OUT=C:\MyApp.exe.il /TEXT /NOBAR /RAWEH /QUOTEALLNAMES /UTF8 /LINENUM /FORWARD C:\MyApp\bin\Release\MyApp.exe
=> ilasm C:\MyApp. exe文件
第一个命令 (ILDASM) 通过就好了,我得到一个 450MB 的 IL 文件。
然而,第二个命令 (ILASM) 崩溃并出现以下错误:
此应用程序已请求运行时以不寻常的方式终止它。
请联系应用程序的支持团队以获取更多信息。
有谁知道错误可能是什么?
我的系统是 Windows 7 x64,带有 Visual Studio 2008 (SP1) 中的工具。
更新:
我联系了混淆器支持并为他们做了一些测试。顺便说一句,他们那里有非常乐于助人的人。
我们发现该错误仅在使用 .net 2.0 框架文件夹中的 x86 ILASM 时发生。使用 framework64\v2.0... 中的那个时,不会发生错误。
此外,当使用 .net 4.0(Beta 2)中的(x86 或 x64)ILASM 时,它通过就好了。
所以这看起来真的像 .net 2.0 for x86 的 ILASM 中的一个错误。