Es gibt eine Reihe von Verschleierungsprogrammen für .Net und ich habe einen versucht, meine exe scheint viel langsamer, wenn verschleiert. Haben alle Verschleierungsprogramme die gleiche Wirkung oder habe ich eine schlechte gewählt? Ich hoffe, einige sind besser als andere, wenn du von einem schnellen weißt, lass es mich wissen.Hat die Exe, die Sie aus Verschleierungsprogrammen bekommen, eine andere Geschwindigkeit?
Antwort
Verschleierung sollte nicht die Laufzeitleistung Ihres Codes ändern. Wenn es dann einen schlechten Obfuscator gibt, der mehr tut als nur zu verschleiern. Alle Verschleißerscheinungen sollten Ihr IL schwer lesbar machen.
Es gibt different obfuscation methods, die Werkzeuge verwenden können. Es gibt einfache Umbenennungsmethoden, die die Leistung in keiner Weise beeinträchtigen sollen. Andere Methoden können den Codefluss ändern. Dies könnte sich negativ auf die Performance auswirken. Vielleicht möchten Sie sich andere Obfuscatoren ansehen und verschiedene Einstellungen ausprobieren.
Haftungsausschluss: Mein Arbeitgeber ist PreEmptive Solutions, der Schöpfer des Dotfuscator .NET Obfuscator.
Dies kann vom verwendeten Obfuscator und den darin aktivierten Optionen abhängen. Ich werde aus Erfahrung mit Dotfuscator sprechen.
Es kann Ladezeit und Speicherabdruckverbesserungen von verschleierten Assemblys geben, wenn Sie Umbenennen und Entfernen verwenden, teilweise weil alle/die meisten Ihrer Methoden, Felder usw. in viel kleinere Namen umbenannt werden (zum Beispiel "ThisVeryLongMethodName (SomeVeryLongParameterName)") wird "a (a)", so dass Sie einen Vorteil in Assembly-Größe und in der Regel mit Ladezeit erhalten. Zusätzlich entfernen Sie entfernen Methoden, etc., die nie aufrufen und wieder die Größe Ihrer Binärdateien verringern.
String-Verschlüsselung kann die Laufzeitleistung in geringem Maße beeinträchtigen, da die Zeichenfolgen zur Laufzeit wieder in lesbaren Text konvertiert werden müssen
Wenn Sie eines verwenden andere Systeme/Techniken wie die sichere vm-Technologie von Microsoft SLP, um Methoden unlesbar zu machen, was aufgrund der sicheren vm auch eine Laufzeitleistungseinbuße zur Folge hat.
Andere Verschleierungstools, die keine verwalteten Code-Assemblys als Ausgabe erzeugen, sondern stattdessen auf einen nativen Code-Loader zum "Vorverarbeiten" ihrer Ausgabe zurückgreifen, können ebenfalls einen Runtime-Performance-Hit (insbesondere während der Ladezeit) verursachen.
- 1. Update-Klasse, die eine andere Klasse hat
- 2. Entfernen Sie die Geschwindigkeit der Animation aus Blender 2.5
- 3. Wie kann ich die Geschwindigkeit meines Sprites bekommen?
- 4. Erstellen Sie eine eigenständige Windows-Exe, die pythonXX.dll nicht benötigt
- 5. Embed eine exe in eine andere, um eine einzige exe zu bauen?
- 6. SQLite - Erhöhen Sie die Geschwindigkeit der Einfügung
- 7. Starten Sie eine andere EXE in verwalteten Code
- 8. Führen Sie eine EXE aus einem anderen Verzeichnis aus?
- 9. Wie testen Sie die Geschwindigkeit für Socket?
- 10. Beschleunigen Sie die Audio-Geschwindigkeit in ActionScript?
- 11. Erhöhen Sie die Geschwindigkeit der Unterabfrage
- 12. Beeinflusst die Switch-Reihenfolge die Geschwindigkeit?
- 13. Führen Sie eine andere EXE aus einer Anwendung mit Parametern, wie admin
- 14. So betten Sie eine Satellitenbaugruppe in die EXE-Datei ein
- 15. Liste der Objekte, die eine andere Liste betrachten C#
- 16. LINQ to SQL Server: andere Geschwindigkeit für die gleiche Abfrage auf andere Spalte
- 17. Wie Sie eine andere .exe überwachen und eine Aktion ausführen, wenn sie geschlossen wird
- 18. sql select, bekommen Autos, die eine Arbeit fällig sind
- 19. Wie können Sie die entsprechende Schriftgröße berechnen, wenn der Bereitstellungs-PC eine andere Schrift DPI hat?
- 20. Beenden Sie eine Animation und starten Sie dann die andere
- 21. FFMPEG - Verketten 2 MP4-Dateien, eine hat Video und Audio und die andere hat nur Audio
- 22. Die Typeninitialisierer für * hat eine Ausnahme
- 23. Geben Sie Eingabe in eine EXE-Datei aus einer Textdatei
- 24. Bestimmen Sie die Netzwerkverbindungsbandbreite (Geschwindigkeit) wifi und mobile Daten
- 25. Gibt es eine Möglichkeit, die Geschwindigkeit einer ScrollView zu berechnen?
- 26. Wählen Sie eine Spalte, wenn die andere Spalte null ist
- 27. Kann ein EXE-Aufruf in die DLL, die es gestartet hat?
- 28. iPhone CoreLocation: So erhalten Sie die genaueste Geschwindigkeit
- 29. So berechnen Sie eine Geschwindigkeit für SlideToggle()
- 30. Hat die Ausgabe von tf.nn.bias_add (Wert, Bias) jemals eine andere Form als die Form des Wertes
Verwenden Sie dotfuscator? –