Lorsque je tente d'utiliser dotfuscate sur ma demande, je reçois une erreur d'application quand je le lance.Comment utiliser un obfuscateur en toute sécurité?
Répondre
La plupart du problème que je l'ai rencontré avec l'obscurcissement tournent autour de types qui ne peuvent avoir leur nom changé, parce que quelque chose doit réfléchir sur eux (votre code ou le moteur d'exécution).
par exemple si vous avez une classe qui est utilisé comme proxy de service Web, vous ne pouvez pas masquer en toute sécurité le nom de classe:
public class MyWebServiceProxy : SoapHttpClientProtocol
{
}
En outre, certains obfuscators ne peut pas traiter des méthodes génériques et des classes.
L'astuce est que vous devez trouver ces types et empêcher la obfuscater de les renommer. Cela se fait avec l'attribut obscurcissement:
[global::System.Reflection.Obfuscation(Exclude=true, Feature="renaming")]
Dotfuscator (et tous obfuscators) sont généralement sans danger pour fonctionner sur une application, mais ils ne parfois causer des problèmes. Sans les détails spécifiques de votre problème, il est difficile de diagnostiquer.
Cependant, un problème commun avec obfuscators est quand vous les mélanger avec la réflexion. Puisque vous changez les noms de type, mais pas les chaînes, chaque fois que vous essayez de réfléchir sur des objets avec un nom de chaîne spécifique et que vous utilisez l'espace de noms de la réflexion pour construire des objets, vous aurez probablement des problèmes.
Je suis juste curieux - mais pourquoi le downvote? Ce serait bien de savoir pourquoi les gens ne sont pas d'accord ... –
Une autre chose qui peut être un problème avec obfuscators est sérialisation en utilisant BinaryFormatter, car il change les noms des champs. J'ai quelques utilisateurs qui utilisent protobuf-net pour la sérialisation sur leur code obfusqué pour cette raison.
- 1. Comment intégrer en toute sécurité un fichier flash (swf)?
- 2. Comment supprimer en toute sécurité des fichiers dans Java
- 3. Comment demander des données en toute sécurité via Google OAuth?
- 4. En écho en toute sécurité aux données MIDI en C#
- 5. Obtention d'événements à partir d'un thread en toute sécurité
- 6. Comment puis-je convertir en toute sécurité un tableau d'octets en une chaîne et revenir?
- 7. Comment mettre à jour en toute sécurité un site Web en direct
- 8. Obfuscateur SWF gratuit
- 9. Comment remplir en toute sécurité un tableau depuis un thread en le lisant dans un autre en Objective-C?
- 10. Quels domaines du web.config puis-je supprimer en toute sécurité?
- 11. Dictionnaire .NET: énumère uniquement les threads en toute sécurité?
- 12. comment fermer en toute sécurité toutes les applications en cours d'exécution avec C#
- 13. Remplacer le lien symbolique important 'en toute sécurité'
- 14. Est le C# '??' thread de l'opérateur en toute sécurité?
- 15. Comment exporter en toute sécurité tous les paramètres IIS d'un serveur à un autre?
- 16. Comment remplir en toute sécurité avec des données et Refresh() un DataGridView dans une application multithread?
- 17. Comment remplir un tableau d'octets à partir de plusieurs threads en toute sécurité?
- 18. Comment coder en toute sécurité μ ou le micro-symbole dans un NSString par programmation?
- 19. Comment créer en toute sécurité un NSInteger à partir d'un CGFloat?
- 20. Mettre à jour un compte (champ) en toute sécurité dans SQL
- 21. Comment utiliser le filetage en toute sécurité pour une minuterie (Modifier les propriétés de la minuterie de différents fils)
- 22. Comment puis-je libérer de la mémoire en toute sécurité en supprimant UIImageViews de l'écran?
- 23. Retirer en toute sécurité une clé USB en utilisant l'API Win32?
- 24. rmi sur ssl/tls, un moyen d'identifier en toute sécurité l'appelant?
- 25. Existe-t-il un moyen d'utiliser errno en toute sécurité dans une application multithread?
- 26. Est-ce que jQuery évaluera en toute sécurité une réponse JSON à un POST HTTP?
- 27. En toute sécurité en utilisant exec avec PHP pour lancer ffmpeg
- 28. Comment déclencher en toute sécurité une Swing-Action dans une applet restreinte?
- 29. Comment analyser en toute sécurité les flux multi-octets dans Ruby/Rails?
- 30. Comment faire pour supprimer en toute sécurité les valeurs orphelines dans le registre de Windows?
Pouvez-vous nous dire ce que l'erreur est? –
ne pas coller votre doigt dans l'obfustacator, sauf si vous avez besoin d'un rein en arrière. –