Question

J'ai un programme assez grand dans .NET 3.5 SP1 qui compile très bien. Cependant, quand je veux le obscurcir avec Obfuscator Pro (évaluation pour l'instant), Obfuscator arrête avec l'erreur suivante:

  

[sortie de la construction] Cette application a demandé l'exécution d'y mettre fin d'une manière inhabituelle.
  [Sortie de la construction] S'il vous plaît contacter l'équipe de soutien de la demande pour plus d'informations.
  [Sortie de la construction] ilasm retourné 3
  [Sortie de la construction] Construire erreur.

Comme l'erreur vient de ILASM, je pensais que permet de faire ce que fait Obfuscator (w / o obscurcissement) et exécuté les commandes suivantes:

  

=> ildasm.exe /OUT=C:\MyApp.exe.il / TEXTE / Nobar / RAWEH / QUOTEALLNAMES / UTF8 / LINENUM / AVANT C: \ MyApp \ bin \ Release \ MyApp.exe
  => Ilasm C: \ MyApp.exe.il

La première commande (ILDASM) passe très bien, je reçois un fichier 450MB IL.
La deuxième commande (ILASM) se bloque toutefois avec l'erreur suivante:

  

Cette application a demandé l'exécution d'y mettre fin d'une manière inhabituelle.
  S'il vous plaît contacter l'équipe de soutien de l'application pour plus d'informations.

Est-ce que quelqu'un a une idée de ce que l'erreur pourrait être
Mon système est Windows 7 x64 avec les outils de Visual Studio 2008 (SP1).

MISE À JOUR:
Je contacté le support Obfuscator et fait quelques tests pour eux. Ils ont des gens vraiment utiles là par le chemin.
Nous avons découvert que l'erreur ne se produit que lors de l'utilisation du x86 ILASM du .net 2.0 dossier-cadre. Lorsque vous utilisez l'un de l'v2.0 Framework64 de \ ... l'erreur ne se produit pas.
Aussi lorsque vous utilisez soit (x86 ou x64) ILASM de .net 4.0 (Beta 2), il passe très bien.
Donc, cela ressemble vraiment à un bug dans le ILASM de .net 2.0 pour x86.

Était-ce utile?

La solution

Alors que la question avec ILASM est pas vraiment résolu, fixe le problème suivant:

  • Utilisez ILASM du dossier Framework64
    Le x64 ILASM fonctionne très bien. Cependant, je ne pouvais pas forcer Dotfuscator à utiliser.
  • Installer NET Framework 4.0 (bêta 2)
    Lorsque ILASM de NET Framework 4.0 est utilisé, il fonctionne très bien.
  • Exécuter Dotfuscator avec le '/ INPL: le' drapeau
    le soutien Dotfuscator m'a dit d'utiliser ce drapeau et il a bien fonctionné.
    Selon eux, il ne devrait pas y avoir de différence dans le fichier EXE généré alors j'utilise actuellement cette solution (Le drapeau n'est pas disponible dans l'interface graphique).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top