Frage

Ich plane, einen kleinen, preiswerten Dienstprogramm zu lösen. Da dies mehr Hobby als Geschäft, plante ich Dotfuscator Community Edition zu verwenden, die mit VS2008 ausgeliefert wird.

Wie gut ist es?

Ich konnte auch die Definition von „gut genug obfuscator“ verwenden - welche Funktionen von Dotfuscator Community Edition fehlen es gut genug zu machen.

Edit:

Ich überprüfte Preis auf Anzahl kommerziellen obfuscators und sie kosten viel. Ist es das wert?

Sind kommerzielle Versionen, die viel besser aus Reverse Engineering zu schützen?

Ich bin nicht sehr Angst vor meiner Anwendung geknackt (es enttäuschend werden, wenn die Anwendung so schlecht ist, dass niemand interessiert ist, es in Cracken). Es ist nicht schwer ohnehin nicht übermäßig komplexe Serienschlüssel und Lizenzprüfungen auf wenige Orte in Code geschützt. Es nervt mich nur, dass ohne Verschleierung, jemand leicht Quellcode bekommen können, Rebranding es und verkaufen es als seine eigene.

Ist dies geschieht viel?

Edit 2:

Kann jemand kommerziellen obfuscator empfehlen. Ich fand viele von ihnen, alle von ihnen sind teuer, einige haben sogar Preis nicht auf der Webseite aufgeführt.

Feature-weise, alle Produkte scheinen mehr oder weniger ähnlich.

Was ist minimal Satz von Funktionen Obfuskator haben sollte?

War es hilfreich?

Lösung

Auf den Punkt gebracht, der Hauptunterschied zwischen Dotfuscator Community Edition und den anderen „professionellen“ Ausgaben ist, dass Community Edition wird nur wirklich obfuscate und Ihre Namensräumen ändern, Methodennamen und andere „öffentlich“ zugänglich Aspekte Ihrer Klassen. Es wird nicht in die Funktionen vertieft sich und den „privaten“ Code innerhalb der Funktion verschleiern.

Auch dann, wenn die Community Edition nicht in Ihrer Anwendung etwas zu verschleiern solche Dinge wie Steuerfluss tun, noch wird es „kombinieren“ Code aus mehreren Baugruppen in eine Baugruppe. Dies sind Eigenschaften, die verfügbar sind in der „professionellen“ Bezahl-Versionen.

Der beste Vergleich zwischen der Community Edition (die „freie“ Version, die mit Visual Studio kommt) und der „Profi“, einbezahlten für Ausgaben können, indem man die beiden folgenden Links zu finden:

Preemptive Dotfuscator-Editionen im Vergleich

Dotfuscator Community Edition 3.0 auf MSDN

Der MSDN-Link ist etwas veraltet, gibt jedoch eine viel bessere Erklärung der tatsächlichen Merkmale, die in den verschiedenen Ausgaben von Dotfuscator zur Verfügung stehen.

EDIT:

Handel obfuscators tut eine Menge Geld kosten, und wie zu, ob sie das Geld wert? Nun, das ist eine Ermessenssache, dass wirklich nur Sie machen können. Persönlich würde ich sagen, dass es nicht wert ist, es in Ihrem Szenario. Zum einen, weil Sie nur wollen, sind eine Anwendung zu schützen ( „Ich plane, eine kleine, preiswerte Dienstprogramm zu lösen.“) Und zweitens, Sie sagen, dass Sie nicht allzu besorgt mit der Anwendung zu sein „geknackt“ ( "I‘ m nicht sehr Angst vor meiner Anwendung geknackt zu werden. ").

Ich verstehe, wie kann es Fehler, den Sie, dass kompilierte .NET-Anwendungen, ohne Verschleierung, leicht umgekehrt zu ihrer ursprünglichen Quellcode konstruiert werden kann, und dass jemand kann davon Gebrauch machen, Ihre Software zu stehlen und verkaufen sie als ihre eigenen, aber die Tatsache bleibt, dass Software-Piraterie existiert, und Sie werden es wahrscheinlich nie aufhören.

Der Versuch, Piraterie Stop-Software wurde diskutiert Ad-nausem sowohl hier (Stack-Überlauf) und alle über das Internet.

Der allgemeine Konsens scheint zu sein, dass Sie sich darauf konzentrieren müssen, um mehr Zeit und Energie auf Ihr Produkt so groß zu machen, wie es eher kann diese gleichzeitig als die Verwendung versuchen, etwas, dass genügend Zeit / Geld, ein „Angreifer zu schützen "kann‚Crack‘/ stiehlt Ihre Software wie auch immer, trotz aller Bemühungen, ihn so zu tun, zu verhindern.

  

Ist dies geschieht viel?

Ich würde sagen, dass es wahrscheinlich viel weniger passiert, als Sie denken, es tut. Sicher, wird Software geknackt, aber ich glaube nicht, zu viele Leute stehlen Quellcode tatsächlich andere und komplett neu Marke es als ihre eigenen zu verkaufen. Ich sage nicht, es nicht oder ist nicht geschehen, aber es ist sicherlich nicht ein gemeinsames Auftreten.

Um es zusammenzufassen, ich würde sagen, dass Ihre beste Wette auf machen Ihre Nützlichkeit als groß zu konzentrieren, wie es und die freie Dotfuscator obfuscator verwenden sein kann, da es sehr wenig Investition von Zeit / Geld benötigt, um Ihren Code zu verschleiern von den offensichtlichsten neugierigen Augen, aber nicht verliert keinen Schlaf über die Tatsache, dass, wenn jemand knacken / stiehlt Ihr Produkt / Code schlecht genug will, wird sie tun.

Andere Tipps

Ich denke, Dotfuscator Community Edition mit Visual Studio ausgeliefert ist eine recht naive Lösung. Es bietet nur Symbol Umbenennung und nicht obfuscate Steuerfluss überhaupt. Und wenn jemand beschließt, stahl Code nur benötigt, um alle Namen Refactoring zurück, die von Klassen ganz einfach mit einer kleinen Menge ist.

Sie können auch verlassen sich auf nicht so perfekt Dekompilierung von Reflektor (es meist Verwirrungen Blöcke zu wechseln, macht viele gotos, Mismatch if-else-Blöcke, usw.).

Aber ich schlage vor, Sie versuchen Eziriz NET Reactor . Es kostet nur $ 179 (AFAIK besten Preis / Ausstattung Verhältnis). Es bietet Standard-Verschleierungstechniken wie Symbolumbenennung, String-Verschlüsselung, Steuerfluss Verschleierung. Als guter Bonus schafft es nativer Launcher für Sie App, die Ihre Hauptbaugruppe und alle Dritten Referenzen verschlüsselt und geladen auf Anfrage enthalten. Außerdem bietet es einige Lizenzierungsfunktionen.

Wie auch immer Umkehrung .NET-Anwendung ist nicht so schwer, ich habe es für Spaß und kann sagen, dass es nur Frage der Zeit und Geldes (und natürlich auch die gesunden Menschenverstand), wie schnell Ihre Anwendung geknackt werden oder umgekehrt.

Als Minimum sollte ein obfuscator hat:

  1. String-Verschlüsselung
  2. Symbol Umbenennung
  3. Steuer fließen Verschleierungs

Gute Eigenschaften haben, sind:

  1. Ressourcenschutz
  2. Montage-Misch / Einbetten
  3. Externe Methodenaufruf Versteck
  4. Die Fähigkeit, Auto-Zeichen verschleierten Baugruppen
  5. Unterstützung für Satelliten-Baugruppen
  6. Toter-Code Elimination
  7. Meta-Datenreduktion
  8. Anti-Decompiler (Reflector)
  9. Anti-Tamper
  10. Anti-Debugging

Werfen Sie einen Blick auf unsere Crypto Obfuscator Produkt, das alle diese unterstützt.

Eine andere Möglichkeit, Reverse Engineering Code zu umgehen ist, wo Sie Ihre DLL platzieren ist, wenn Sie nicht wirklich obfuscators leisten können, die Add-Unterstützung tun. Und in Ihrem assembies vor der Bereitstellung sagen dem Compiler, wo sie suchen, die eine alte Praxis hinder Reverse Engineering war. Aber wie es wurde schon gesagt, ein Konzentrat vor allem auf ein hervorragendes Produkt zu entwickeln und bewährte Praktiken Codierung, dann werden Sie in der Lage sein, eine schöne obfuscator Anwendung in der Zukunft zu leisten. Versuchen Sie auch, nicht zu Sorge zu viel über anderen Code Knacken, weil die meisten Hacker Code knacken finden nur eine Möglichkeit, das Produkt zu verwenden, ohne dafür zu bezahlen und nicht zu stehlen Code oder lernen für Anfänger Programmierer. Ja, ich wünsche JIT nur c # unterstützt und vb.net, die wirklich nach unten auf Reverse Engineering geschnitten hätte, aber da jit können viele wegen .net ist wirklich Sprache freundlich, das ist der Preis, lesen. So Code entfernt und etwas Geld verdienen, kaufen einige zusätzliche Wertpapiere.

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