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