我在.NET3.5SP1中有一个很大的程序,它编译得很好。
但是,当我想用Obfuscator Pro(现在的评估)混淆它时,Obfuscator会停止,并出现以下错误:
[生成输出]此应用程序已请求运行时以异常方式终止它。
[生成输出]有关详细信息,请与应用程序的支持团队联系。
[生成输出]ILASM返回3
[生成输出]生成错误。
由于错误来自ILASM,我认为让我们做模糊器所做的(不进行模糊)并执行以下命令:
=>ildasm.exe/out=c:\myapp.exe.il/text/nobar/raweh/quoteallnames/utf8/linenum/forward C:\myapp\bin\release\myapp.exe
=>ILASM C:\myapp.exe.il
第一个命令(ildasm)通过得很好,我得到了一个450MB的IL文件。
但是,第二个命令(ILASM)崩溃,并出现以下错误:
此应用程序已请求运行时以异常方式终止它。
有关详细信息,请与应用程序的支持团队联系。
有人知道错误可能是什么吗?
我的系统是Windows 7 x64,带有来自Visual Studio 2008(SP1)的工具。
更新:
我联系了Obfuscator支持部门,并为他们做了一些测试。顺便说一句,那里的人真的很有帮助。
我们发现,只有在使用.NET 2.0框架文件夹中的x86 ILASM时才会发生错误。使用Framework64\v2.0中的一个时…这样就不会发生错误。
同样,当从.NET 4.0(Beta 2)中使用(x86或x64)ILASM时,它通过得很好。
所以这看起来像是.NET 2.0的iLASM中的一个用于x86的bug。