У меня довольно большая программа в .net 3.5 SP1, которая прекрасно компилируется.
Однако, когда я хочу запутать его с помощью Obfuscator Pro (оценка на данный момент), Obfuscator останавливается со следующей ошибкой:
[Build Output] Это приложение запросило среду выполнения, чтобы завершить его необычным способом.
[Создать вывод] Для получения дополнительной информации обратитесь в службу поддержки приложения.
[Построить вывод] ilasm вернул 3
[Build Output] Ошибка сборки.
Так как ошибка исходит от 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) проходит нормально, я получаю IL-файл 450 МБ.
Однако вторая команда (ILASM) вылетает со следующей ошибкой:
Это приложение запросило среду выполнения прекратить его необычным способом.
Пожалуйста, обратитесь в службу поддержки приложения для получения дополнительной информации.
Кто-нибудь знает, в чем может быть ошибка?
Моя система - Windows 7 x64 с инструментами из Visual Studio 2008 (SP1).
UPDATE:
Я связался с поддержкой Obfuscator и сделал несколько тестов для них. Кстати, там есть действительно полезные люди.
Мы обнаружили, что ошибка возникает только при использовании x86 ILASM из папки .net 2.0 framework. При использовании одного из framework64 \ v2.0 ... ошибка не возникает.
Кроме того, при использовании (x86 или x64) ILASM из .net 4.0 (бета-версия 2) он проходит просто отлично.
Так что это действительно похоже на ошибку в ILASM .net 2.0 для x86.