Frage

Für eine Weile wurden wir mit einem Werkzeug namens CodeVeil. Ich frage mich nur, wenn es bessere Alternativen gibt es aus.

Edit: Vor mehr Menschen die Frage falsch verstehen, ich bin mir dessen bewusst, dass ein entschlossener Cracker wahrscheinlich in der Lage sein würde, jedes dieser Werkzeuge zu besiegen. Ich bin nicht allzu besorgt über sie aber. Diese Werkzeuge sind nur bedeutet den „casual Cracker“ zu stoppen, und die Menschen daran zu hindern, unsere Firma IP zu stehlen. Wenn sie gut genug sind, vorbei an einem anständigen Werkzeug zu bekommen, sind sie wahrscheinlich nicht daran interessiert, unsere crappy Code :-P stehlen

War es hilfreich?

Lösung

Ich habe viel Erfolg mit Xenocode Postbuild hatte. Das Tool kann .NET-Assemblies verschleiern, schützen Agaist Reflektor Demontage, .NET-Assemblies in einer einzigen ausführbaren kombinieren ( „Virtualisierung“) und sogar von .NET-Anwendungen zu kompilieren Executables Eigenständig, die nicht installiert .NET-Laufzeit benötigen.

Andere Tipps

Ich bleibe durch den Wert dieser Instrumente nicht überzeugt. Keine der Technologielösungen verhindert Reverse Engineering besser als Rechtsschutz wie Lizenzen, Marken, Patente, Urheberrechte etc. ...

NET ist wirklich große transparente Source-Bewegung. Es ist viel besser, dass Sie stattdessen Nutzungsbedingungen um Ihre IP-Frame wie Lizenz- und Urheberrecht.

Kompilieren der .NET-Anwendung führt zu Ausgabebaugruppen, die ein hohes Maß an Meta-Informationen enthalten. Diese Information macht es sehr einfach, etwas sehr nah am Original-Code zu rekonstruieren. Ein ausgezeichnetes kostenloses Tool .NET Reflector genannt kann verwendet werden, genau das zu tun und ist ein beliebter Weg, zu untersuchen, wie die Basisklassenbibliotheken arbeiten. Downloaden und dieses Tool verwenden, um rekonstruierte C # / VB.NET Versionen von Montag Inhalten anzuzeigen.

Wenn Sie eine Handelsorganisation sind, dann wollen Sie nicht finden Menschen es einfach an Ihrem teuer aussehen Code zu erzeugen. Eine beliebte Methode ist Verschleierung zu verwenden, um die Inhalte in einer Art und Weise zu verschlüsseln, die nicht verändert, wie es läuft, aber es ist schwer zu verstehen macht. Obfuscation nutzt Techniken wie das Umbenennen von Variablen und Methoden. Ausarbeiten den Zweck der Methoden 'a1', 'a2', 'a3' ist viel härter als das Original 'GetName', 'UpdateInterestRate' und 'setNewPassword'.

So Verschleierung macht es viel schwieriger für die Menschen zu verstehen, was Sie Code tut und die Algorithmen nutzt. Es ist jedoch nicht unmöglich machen. In gleicher Weise C ++ Code kann noch durch einen Assembler Experten verstanden werden, die verbrachte Zeit bereit ist, arbeitet durch die Binärdatei kann ein MSIL-Experte arbeiten schließlich Ihre verschleierten Code aus. Aber es erhöht die Barriere zu dem Punkt, wo nur wenige werden stören versuchen.

Ehrlich gesagt, ist es nicht viel Sie neben einigen Verschleierungs mit Werkzeugen tun können, wie Sie erwähnt haben. .NET ist nur ein Schritt über Skriptsprachen, mit Ausnahme der Skriptbefehle sind binär und IL bezeichnet. Das ist etwas mehr als Vereinfachung, aber es ist nicht zu weit weg Realität. Jedes gutes Programm geschrieben Reflexion verwendet, kann verwendet werden, um Ingenieur .NET-Anwendungen umzukehren, oder wenn Sie genügend Wissen, einen guten Hex-Editor.

Es gibt mehrere populäre Werkzeuge für die Verschleierung, einschließlich Dotfuscation, die eine „Light“ -Version hat, die mit Visual Studio 2005 und 2008. Sie eine Pro-Version, die mehr als nur Variable und Funktionsnamen Umbenennung der Fall ist. Allerdings ist der Code immer noch sichtbar, es ist nur ein bisschen rappelt es schwieriger zu lesen und den logischen Ablauf der Software grok.

Eine andere Technik ist, andere Programme zu verwenden, die das Programm verschlüsseln und es zur Laufzeit entschlüsseln. Dies ist jedoch keine perfekte Lösung entweder. In der Tat gibt es keine perfekte Lösung, die ich, dass bewusst bin ein Ingenieur bestimmt verhindern Reverse Software Engineering, wenn genügend Zeit und Mühe, um sie angewendet wird.

Was es wirklich ankommt, ist das Niveau des Schutzes zu bestimmen, dass es ausreichend schwer davon abzubringen den lässigen Hacker machen, und es so teuer machen, um Reverse Engineering wie möglich, so dass zumindest das Reverse-Engineering zu einem Preis kommt in entweder Zeit oder Geld, oder im Idealfall beides. Je teurer die Reverse-Engineering-Kosten, die geringere Anzahl von Individuen, die bereit sind, in der Bemühung zu setzen. Und das ist der große Punkt auf Verschleierung.

Einige denken, dass ein Compiler wie die Compiler C ++ verwenden, die auf nativen Code kompiliert wird, diese Art von Reverse-Engineering zu verhindern, aber es funktioniert nicht. Eine gute Disassembler ermöglicht auch rein binäre ausführbare Dateien Reverse Engineering werden, so dass daher eine perfekte Lösung gibt es nicht. Wenn der Computer sie sie lesen und ausführen kann, dann ist der Speicher kann der Computer verwendet gescannt und verfolgt werden, alle Versuche, unter Umgehung zu verschlüsseln, zu verschleiern oder andere Mittel des Codes aus den Händen eines bestimmten Ingenieurs zu halten.

Es tut uns Leid einem alten Post wieder zu beleben, aber ich denke, Eziriz .NET Reactor funktioniert hervorragend.

In der Tat ich es nutzen, um mich für all meine .net-Anwendungen und anscheinend gibt es kein bestehendes Werkzeug aus, dass es ein Programm geschützt mit .net Reaktor dekompilieren kann. Weitere Details finden Sie auf es Info-Seite gefunden werden, http://www.eziriz.com/dotnet_reactor.htm . Testen Sie es mit der Testversion und .net Reflektor und Sie können für sich selbst sehen.

HAFTUNGSAUSSCHLUSS: Ich arbeite nicht für RedGate die Macher von Smartassembly. Ich bin nur ein sehr zufriedener Kunde, der eine gute und kostengünstige Lösung gefunden.

Die Auswahl ist sehr einfach, wählen Smartassembly! Vergeuden Sie nicht Ihre Zeit oder Geld mit dem anderen obfuscators auf dem Markt. Ich verbrachte mehr Geld im Hinblick auf den nicht abrechenbaren Stunden Auswertung Konkurrenzprodukte. Sie alle hatten fatale Fehler und waren so gut wie unmöglich zu debuggen. Smartassembly ist eine einfach zu bedienende, gut dokumentiert, poliert Anwendung mit exzellentem Support. Stellen Sie eine Frage zu ihrem Forum und erwartet eine Antwort recht schnell von den tatsächlichen Entwicklern.

Smartassembly ist mehr als ein obsfuscator. Es hat eine ganze Reihe von Funktionen, darunter eine eingebaute, hochgradig anpassbarer Crash Report-Generator, die Ihre Kunden zu Ihnen automatisch eine E-Mail kann. Sie können diese Berichte entweder auf Ihrem eigenen Server oder auf rot-Tore-Server anzuzeigen. Ich kann Ihnen nicht sagen, wie nützlich das ist, wenn Sie Beta-Tests oder die Freigabe des Produkts für die Kunden sind. Es erzeugt auch Debugger-Dateien, so dass Sie keine Post-Release Probleme debuggen können Sie mit Ihrem obsfucated Produkt auftreten können.

Wenn Sie eine kommerzielle Anwendung liefern, macht es Sinn, das Geld für ein anständiges obsfuscator zu verbringen. Eine schlechte Wahl hier können Sie Ihr geistiges Eigentum oder schlechter führen Sie zu Tage grausamer Debuggen gefährden. Was würde diese Kosten im Vergleich zu dem, was Kosten Smartassembly?

Ich habe gehört, dass Obfusticator ist gut; es auf .NET Reflector verwendet wird.

Ein weiterer Grund ist Crypto Obfuscator - seine günstiger als einige andere, und verschiedene Verschleierungs und Schutzverfahren hat den kausalen und nicht so lässig Hacker zu verhindern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top