Domanda

Ho un abbastanza grande programma nel .NET 3.5 SP1, che è compilando bene. Tuttavia quando voglio offuscare con Obfuscator Pro (valutazione per ora), Obfuscator si arresta con il seguente errore:

  

[costruire uscita] L'applicazione ha richiesto al runtime l'interruzione in un modo insolito.
  [Costruire uscita] Si prega di contattare team di supporto dell'applicazione per ulteriori informazioni.
  [Costruire uscita] ilasm restituito 3
  [Costruire uscita] costruire errore.

Dal momento che l'errore viene da ILASM, ho pensato che lascia fare quello Obfuscator fa (w / o offuscamento) ed eseguiti i seguenti comandi:

  

=> ildasm.exe /OUT=C:\MyApp.exe.il / TESTO / NOBAR / RAWEH / QUOTEALLNAMES / UTF8 / lineNum / FORWARD C: \ MyApp \ bin \ Release \ MyApp.exe
  => Ilasm C: \ MyApp.exe.il

Il primo comando (ILDASM) passa bene, ho un file di 450MB IL.
Il secondo comando (ILASM), tuttavia si blocca con il seguente errore:

  

L'applicazione ha richiesto al runtime l'interruzione in un modo insolito.
  Si prega di contattare team di supporto dell'applicazione per ulteriori informazioni.

Qualcuno ha idea di cosa potrebbe essere l'errore?
Il mio sistema è Windows 7 x64 con gli strumenti di Visual Studio 2008 (SP1).

UPDATE:
Ho contattato il supporto Obfuscator e fatto alcuni test per loro. Hanno persone veramente utile non per la via.
Abbiamo scoperto che l'errore si verifica solo quando si utilizza l'ILASM x86 dalla cartella framework .net 2.0. Quando si usa l'uno dall'altro Framework64 \ v2.0 ... quindi l'errore non accade.
Anche quando si utilizza (x86 o x64) ILASM da .net 4.0 (Beta 2) passa proprio bene.
Quindi questo Sembra veramente un bug nel ILASM di .NET 2.0 per x86.

È stato utile?

Soluzione

Mentre la questione con ILASM non è realmente risolto, il seguente risolto il problema:

  • Usa ILASM da Framework64 cartella
    Il 64 ILASM funziona bene. Tuttavia non ho potuto forzare Dotfuscator di usarlo.
  • Installa .NET Framework 4.0 (Beta 2)
    Quando dal .NET Framework 4.0 viene utilizzato ILASM funziona bene.
  • Esegui Dotfuscator con il '/ INPL: il' bandierina
    Supporto Dotfuscator mi ha detto di usare questo flag e ha funzionato bene.
    Secondo loro, non ci dovrebbe essere alcuna differenza nel file EXE generato così sto usando questa soluzione al momento (La bandiera non è disponibile nella GUI).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top