Ausblenden von c# - windows-Anwendung Quellcode
Schrieb ich eine windows-Anwendung mit C# .Net 2.0 und ich möchte etwas tun, was Sie verbergen den source-code, so dass, wenn eine Nutzung umgestalten tool nicht sehen können, den source-code.
Ich verwendet dotfuscator aber es wurde nur der Funktion, aber nicht alle Namen der Quell-code.
UPDATE:
Ich ausblenden möchten den source-code, nicht weil Sie versteckt die Schlüssel, aber sich zu verstecken, wie der code arbeitet.
Dank,
- Wahrscheinlich schon beantwortet, versuchen Sie eine Suche stackoverflow für "c# obfuscator"
- Ist das nicht das gleiche wie stackoverflow.com/questions/402430/... ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Naja, der source code ist Ihr und, sofern Sie nicht explizit zur Verfügung zu stellen youll perobably nur die Bereitstellung von kompilierten Binärdateien.
Nun, diese kompilierte Binärdateien sind IL-code. Um zu verhindern, dass jemand "dekompilieren" und reverse-engineering Ihrer IL-code zurück zur Quelle-code, müssen Sie verschleiern die IL-code. Dies geschieht mit einer code-obfuscator. Es gibt viele auf dem Markt.
Sie dies bereits getan haben, mit dotfuscator, aber Sie sagen, dass Sie änderten nur die Funktionsnamen, die nicht alle den Quellcode. Es klingt wie Sie sind mit der dotfuscator Ausgabe, die mit Visual Studio. Dies ist effektiv die "community edition" und enthält nur eine Teilmenge der Funktionalität der "professional edition". Bitte sehen dieser link für eine Vergleichstabelle der Funktionen der community edition und die professional edition.
Wenn du mehr willst Verschleierung des Codes (insbesondere zum Schutz gegen Menschen, die Verwendung von tools wie Reflektor), benötigen Sie die professional edition von Dotfuscator, oder andere code-obfuscator Produkts mit vergleichbarer Funktionalität.
IL ist per definition sehr ausdrucksstark in Bezug auf das, was im Körper bleibt; Sie müssen nur entweder:
Sobald die Menschen bekommen eine hand auf Ihre Binärdateien, Sie können reverse-Engineering-it. Es ist einfacher, mit Sprachen, die kompiliert zu bytecode (C# und Java) und es ist schwieriger, mit Sprachen, die kompiliert werden, um CPU spezifische Binarys es ist aber immer möglich. Gesicht es.
Versuchen SmartAssembly
http://www.smartassembly.com/index.aspx
Gibt es Grenzen, die Länge, die Verschleierung software gehen kann, um zu verbergen, die Inhalte der Methoden, die grundlegende änderung der Einbauten, ohne die Korrektheit (und natürlich Leistung) ist extrem schwer.
Es ist bemerkenswert, dass code, der mit vielen kleinen Methoden neigen dazu, sich weit schwerer zu verstehen, sobald verschleiert, insbesondere, wenn die Verfahren für die Freigabe von Namen zwischen den Methoden, die scheinen würde, zu kollidieren, um das Auge, aber nicht zur Laufzeit eingesetzt werden.
Einige obfuscators erlauben die Generierung von Konstrukten, die nicht darstellbar in einer der Zielsprachen, die Menge aller Operationen zulässig CIL zum Beispiel ist viel mehr als daß ausdrückbar durch c# oder sogar C++/CLI. Allerdings erfordert dies Häufig eine explizite Einstellung zu aktivieren (da es Probleme verursachen kann). Dies kann dazu führen decompilers zu scheitern, aber einige tun Ihr bestes und arbeiten, um es (vielleicht inlining il es nicht in den Griff).
Wenn Sie verteilen die pdb ' s mit der app, die dann auch mehr kann gefolgert aufgrund der zusätzlichen Symbole.
Nur symbol umbenennen ist nicht genug von einem Hindernis zum reverse engineering der app. Sie müssen auch die Ablaufsteuerung Verschleierung, string-Verschlüsselung, Ressourcen-Schutz, meta-Daten-Reduzierung, anti-Reflektor-Verteidigung, etc, etc. Versuchen Crypto Obfuscator unterstützt all dies und mehr.
Erstellen Sie ein setup-Projekt für Ihre Anwendung und installieren Sie das setup auf Ihrem computer Freunde wie eine software. Es gibt 5 Schritte zum erstellen der setup-Projekt mithilfe von microsoft visual studio.
Schritt 1: Erstellen Sie ein Beispiel .Net-Projekt. Ich nannte dieses Projekt als "TestProject" nach, die bauen Ihr Projekt im release-Modus.
Schritt 2: Neues Projekt Hinzufügen mit Rechtsklick auf die Projektmappe und wählen Sie setup-Projekt, und geben Sie den Namen dieser als "TestSetup".
Schritt 3: klicken Sie Rechts auf setup-Projekt, und Fügen Sie die primäre Ausgabe, und wählen Sie Ihr Projekt angezeigt.
Schritt 4: Rechtsklick Auf das setup-Projekt, und wählen Sie Ansicht-> Dateisystem -> Application-Ordner. Nun kopieren Sie das, was Sie wollen im Installations-Ordner.
Schritt 5: gehen Sie Jetzt zu unseren Projekt-Ordner und öffnen Sie die release-Ordner, den man bekommen kann setup.exe Datei hier. Doppelklicken Sie auf das "TestSetup" - Datei und installieren Ihr Projekt zu Ihrer und anderer computer.