Frage

Ich habe ein ziemlich großes Programm in .NET 3.5 SP1, die gerade fein kompiliert. Jedoch, wenn ich es mit Obfuscator Pro (Bewertung vorerst) verschleiern will, Obfuscator stoppt mit dem folgenden Fehler:

  

[Build-Ausgabe] Diese Anwendung hat die Laufzeit angewiesen, auf eine ungewöhnliche Art und Weise zu beenden.
  [Build-Ausgabe] Bitte kontaktieren Sie den Support der Anwendung für weitere Informationen.
  [Build-Ausgabe] ilasm ergab 3
  [Build-Ausgabe] Build-Fehler.

Da der Fehler von ILASM kommt, dachte ich, kann tun, was Obfuscator tut (w / o Verschleierung) und die folgenden Befehle ausgeführt:

  

=> 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

Der erste Befehl (ILDASM) geht ganz gut, ich eine 450MB IL-Datei.
Der zweite Befehl (ILASM) abstürzt jedoch mit dem folgenden Fehler:

  

Diese Anwendung hat die Laufzeit angewiesen, auf eine ungewöhnliche Art und Weise zu beenden.
  Bitte kontaktieren Sie den Support der Anwendung für weitere Informationen.

hat jemand eine Idee, was der Fehler sein könnte?
Mein System ist Windows 7 x64 mit den Werkzeugen von Visual Studio 2008 (SP1).

UPDATE:
Ich kontaktierte Obfuscator Unterstützung und tat für sie einige Tests. Sie haben wirklich hilfreich Menschen dort durch die Art und Weise.
Wir haben entdeckt, dass der Fehler nur geschieht, wenn die x86 ILASM aus dem .NET 2.0 Framework-Ordner verwenden. Wenn das ein vom Framework64 \ v2.0 mit ... dann tritt der Fehler nicht passieren.
Auch wenn entweder (x86 oder x64) ILASM von .NET 4.0 (Beta 2) unter Verwendung geht es ganz gut.
Also das ist wirklich ein Fehler in der ILASM von .net sieht aus wie 2.0 für x86.

War es hilfreich?

Lösung

Während das Problem mit ILASM nicht wirklich gelöst, nach der das Problem behoben:

  • Verwenden Sie ILASM von Framework64 Ordner
    Die x64 ILASM funktioniert gut. Allerdings konnte ich nicht Dotfuscator zwingen, es zu benutzen.
  • Installieren .NET Framework 4.0 (Beta 2)
    Wenn ILASM von .NET Framework 4.0 verwendet wird, es funktioniert gut.
  • Ausführen Dotfuscator mit dem '/ INPL: auf' flag
    Dotfuscator Unterstützung hat mir gesagt, dieses Flag zu verwenden, und es hat gut funktioniert.
    sie nach EXE sollte es nicht sein, ein Unterschied in der erzeugten so ich diese Lösung bin derzeit (Die Flagge ist in der GUI nicht verfügbar).
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top