2012-03-27 5 views
6

Ich baue einige Anwendungen und entschied, dass es Zeit war, meinen Code durch einen Obfuscator laufen zu lassen. Ich habe Eazfuscator.NET heruntergeladen und verwendet und dann nach der Installation der Anwendung Ispy heruntergeladen, um zu sehen, wie gut der Prozess funktioniert hat..Net Obfuscator Probleme

Was ich fand, war, dass ich immer noch eine Menge Code sehen konnte, zum Beispiel die meisten Logik auf meinen Routinen war dort in einigen Teilen meiner Hintergrundarbeiter. Ja, die Saiten wurden geändert, aber einige Stellen, die ich für ziemlich wichtig halten würde, waren sichtbar.

Zum Beispiel, wenn ich den Anwendungsauthentifizierungsschlüssel erstelle, gibt es bestimmte Gegenstände, die ich dem Schlüssel anhefte, bevor ich meine Verschlüsselung ausführe. Diese Elemente waren sichtbar, als ich Ispy zum Anzeigen der Baugruppe verwendete. Die Passphrase zu meiner Verschlüsselungsbibliothek war verborgen, aber ich habe das Gefühl, dass dies noch mehr Information ist, als ich möchte, dass jemand sie sehen kann.

Meine Frage ist - ist das normales Verhalten bei der Verwendung eines Obfuscator? Oder sollte ich andere versuchen?

+0

würde ich andere, die versuchen. Ich habe Dotfuscator verwendet und mit Ausnahme von anonymen Typen funktioniert es sehr gut. VS2010 hat auch Verschleierung Ich glaube – Brian

+2

Willkommen bei Stack Overflow! Ich habe Eazfuscator benutzt und ich habe eine sehr dichte Hardcore-Ausgabe bekommen. Stellen Sie sicher, dass Sie die neueste Version verwenden. Versuche, einige der Einstellungen zu optimieren. – ashes999

+0

Ich sehe sehr wenige Einstellungen. Von wem sprichst du genau? –

Antwort

3

Verwenden Sie die folgenden Einstellungen für Eazfuscator.NET um bessere Ergebnisse zu erhalten:

[assembly: Obfuscation(Feature = "code control flow obfuscation", Exclude = false)] 
[assembly: Obfuscation(Feature = "PEVerify", Exclude = false)] 
[assembly: Obfuscation(Feature = "encrypt symbol names with password mypassword", Exclude = false)] 
[assembly: Obfuscation(Feature = "encrypt resources [compress]", Exclude = false)] 

in Ihrer Assembly Info-Datei

+0

Diese Einstellungen, die Sie aufgelistet haben, funktionierten wirklich gut für die .exe-Datei, die aus der Ausgabe kommt. Die Klassenbibliothek, die neben ihr gebaut wird, hat jedoch die gleichen Einstellungen in der Assembly-Datei, aber ich kann immer noch einiges davon sehen, wie zum Beispiel Funktionsparameter. Muss ich etwas Besonderes für eine Klassenbibliothek tun? –

+0

Sind Methoden oder Eigenschaften öffentlich?Standardmäßig kann public in library nicht verschleiert werden, da sie öffentlich sichtbar sind, also für jeden sichtbar sind, der diese Bibliothek anfügt. – Marcin

+0

Ja, die Methoden sind öffentlich, weil ich dieselbe Bibliothek in verschiedenen Anwendungen verwende. Fehle ich hier etwas, wie sonst würde ich eine Bibliothek schreiben, die ich wiederverwenden kann, aber sie kann verschleiert werden? –

0

Crypto Obfuscator versuchen - es viele Verschleierungstechniken einschließlich String-Verschlüsselung hat, Kontrollfluss Obfuscation, Methodenversteckung, Ressourcenschutz usw., was dazu führt, dass Code sehr schwer zu lesen und zu verstehen ist.

DISCLAIMER: Ich arbeite für LogicNP Software, der Entwickler von Crypto Obfuscator.

0

Erweiterte Verschleierungsfunktionen zum Verschleiern von Assemblys, sodass der verschleierte .NET-Code viel schwieriger zu verstehen ist oder nicht dekompiliert werden kann. Wir können schützen.NET-Anwendung und DLLs mit Code-Schutz, kombiniert und enthält Methodenebene Code-Verschlüsselung, Anti-Reverse-Engineering, Anti-Debugging, Anti-Manipulation, und mehr, um unbefugten Zugriff und Modifikation Ihrer Baugruppen zu verhindern.

Ich verwende FxProtect - .Net Obfuscator. Es ist wirklich gut.

Sie es versuchen ... .Net Obfuscator

Verwandte Themen