Schützen .NET-code vor reverse engineering?
Verschleierung ist eine Möglichkeit, aber es kann nicht schützen Sie sich vor Einbruch der Piraterie, den Schutz der Sicherheit der Anwendung. Wie kann ich sicherstellen, dass die Anwendung nicht manipuliert, und wie kann ich sicher sein, dass die Registrierungs-Mechanismus können nicht reverse-engineered?
Außerdem ist es möglich, zu konvertieren, eine C# - Anwendung, um nativen code, und Xenocode zu teuer ist.
C# bietet viele Funktionen und ist die ideale Sprache für meinen code, so schreiben die ganze codebase wieder in C++ ist aus der Frage.
Sichere Zertifikate können leicht entfernt werden signierte Assemblys in .NET.
blogs.msdn.com/b/dotnet/archive/2014/04/02/... die Dinge ändern!
Das ist genial!! Ich werde einen Versuch geben. Jeden es zu benutzen?
es ist für Fenster-store-apps nur. Es gibt keine Zeitleiste für den desktop-apps(soweit ich das sagen kann).
Wenn Sie möchten, native, ohne die archaische, C++, Delphi verwenden. Die Leichtigkeit des .Netto kam von Delphi sowieso.
Das ist genial!! Ich werde einen Versuch geben. Jeden es zu benutzen?
es ist für Fenster-store-apps nur. Es gibt keine Zeitleiste für den desktop-apps(soweit ich das sagen kann).
Wenn Sie möchten, native, ohne die archaische, C++, Delphi verwenden. Die Leichtigkeit des .Netto kam von Delphi sowieso.
InformationsquelleAutor |
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht.
Gibt es Schritte, die Sie ergreifen können, um es ein wenig schwieriger, aber letztlich ist jede ausführbare Datei auf dem lokalen Rechner knacken. Schließlich, dass code umgewandelt werden, in nativen Maschinen-code und jede Anwendung, die ausführbar ist anfällig.
Was Sie tun möchten ist, machen es gerade schwer genug, um crack zu machen, es nicht Wert, Menschen Probleme.
Einige Vorschläge, die ich für Sie haben, zu helfen, schützen Sie Ihre Anwendung:
Letztendlich aber, wenn die Menschen möchten, dass Ihre Anwendung geknackt werden Sie. Blick auf die kommerzielle software gibt, die hat eine große Menge an Ressourcen zu schützen, Ihre Anwendungen zu, und doch sind Sie geknackt werden, bevor die Anwendungen sind auch für die öffentlichkeit freigegeben.
Einen qualifizierten reverse engineer kann Feuer bis IDA-Pro und Schnitt durch Ihre Anwendung wie butter, egal, was Sie tun. Eine gepackte Anwendung entpackt und Verschleierung verhindert nur, dass Sie machen Sie einen Spaziergang in den park. Alle Ihre harte Arbeit mit Ihren komplexen Lizenz-code kann rückgängig gemacht werden, mit einer single-byte-patch.
Brauchen Sie nur zu akzeptieren, dass es eine sehr Reale chance, die Menschen gehen, um Piraten Ihre software. Es gibt einige Menschen, die nie bezahlen für Ihre Anwendung, egal welche, und diese sind die Leute, die Sie nicht brauchen, zu kümmern.
Gibt es doch viele Unternehmen gibt, die würde nie riskieren, eine Klage und glücklich kaufen software-Lizenzen und viele computer-Anwender, die entweder nicht wollen, es zu riskieren, finden Sie es falsch oder sind die nicht technisch versierten genug, um Piraten. Dies sind Ihre wahren Kunden, und Sie sollten Ihre Bemühungen konzentrieren sich auf die Bereitstellung von Ihnen mit einer guten user experience und ignorieren die Menschen das knacken Ihrer software.
Ich habe meine Bewerbung vor Raubkopien, und ich nahm es als eine persönliche Beleidigung. Hier war ich, ein kleiner Entwickler, Gießen mein Herz und meine Seele in eine Anwendung und diese Leute haben die Frechheit zu Piraten von mir?! Sie nahmen das Geld direkt aus der Tasche!
Ich sofort Hinzugefügt, in einer Reihe von drakonischen DRM-code und versucht, zu sabotieren, zu jeder person, die eine illegale oder gecrackte Kopie. Ich sollte natürlich habe auf meine Anwendung besser, anstatt zu versuchen, das unvermeidliche aufhalten. Nicht nur, dass, aber ich war verletzt meine wahr Kunden werden alle diese zusätzlichen Schutzvorrichtungen ich war putting in.
Nach einem langen Kampf wurde mir klar, ich war zu kämpfen, die Gezeiten und all dies Verschwendete Zeit war für die Katz. Ich nahm alle phone-home-code mit Ausnahme der Barebone-Lizenz Funktionen und blickte nie zurück.
Sie haben erreicht, software-Schutz-nirvana: es geht nicht darum, mehr Schutz, es geht um die Konzentration auf das Produkt und macht es so gut, dass die Menschen WOLLEN, um es zu bezahlen. Und für diejenigen, die Piraten, Sie hätten nie bezahlt sowieso, also es ist so, als wenn Sie nie existiert.
Chaparyan, Stimme ich zu. Es dauerte eine lange Zeit, um hier zu bekommen, aber ich habe endlich das Licht gesehen. Ich ging die Straße hinunter von restriktiver Schutz und kämpft gegen die Cracker. Ich lernte alles was ich konnte, über reverse engineering in ein Versuch zu verhindern, dass meine eigene. Endlich fand ich die richtige Ideologie
Hölle, ich würde geehrt wurden, um herauszufinden, jemand dachte, meine software wurde Wert Piraterie...
Wenn Sie beginnen, sich auf die Verkäufe Ihrer software für einen großen Teil Ihres Einkommens-es ändert die Dinge. Es fühlt sich an wie jemand ist Diebstahl von Ihnen. Ich bekomme, was Sie sagen, obwohl. Ich war schockiert, als ich das erste fand Risse für meine software auf torrent-sites.
InformationsquelleAutor
Kann man nicht vollständig sicher jeder Anwendung (managed oder nicht). Wenn Systeme wie die Playstation und iPad bekommen kann geknackt — wobei der Hersteller selbst steuert die hardware — welche Hoffnung bietet Ihre app haben? Zum Glück, Sie don ' T wirklich wollen. Meiner Meinung nach, Sie müssen schützen Sie Ihre Anwendung einfach genug, dass jemand nicht versehentlich Pirat Produkt, und nicht mehr.
Zum Beispiel, wenn Sie eine pro-Computer-Lizenz, es sollte nicht nur Arbeit, wenn Sie es installieren auf einem neuen zweiten Maschine. Sie wollen eine gute Fehlermeldung zu verhindern, dass zusätzliche support-Anrufe, aber nicht verbringen mehr Zeit, so dass es zu schwer zu umgehen und nicht auf die Nutzer über den Kopf.
Weiteres Beispiel ist eine zeitlich begrenzte Testversion. Machen Sie sich keine sorgen über einfache Dinge, wie wenn der Benutzer kann nur ein Rollback für die system-Uhr. Jemanden, der nicht weiß, dass Sie brechen Ihre Lizenz, und solange ein Benutzer weiß, wenn Sie verletzt, Sie haben genug getan.
Müssen Sie so viel tun, weil die Anwender kümmern sich nicht um Ihre Lizenz. Lizenzen sind erfundene Dinge, die niemand kümmert sich um Sie, bis Sie brauchen. Niemand liest Sie, und Sie sollten wirklich nicht zu haben. Daher der beste Weg, um dem Benutzer mitzuteilen, wo die Grenzen sind, ist, wenn die out-of-the-box-Verhalten für Ihre Anwendung erfüllt mit der Lizenz. In diesem ersten Fall, dass bedeutet nicht, zu installieren oder installieren auf trial-version Modus für die zweite Zeit. Für letzteres vielleicht nur, dass die Prüfung eine nur-text-Datum in einer Konfigurationsdatei. So oder so, stellen Sie sicher, Griff er in eine elegante, hilfreiche und respektvolle Art und Weise.
So, dass erklärt, was es bedeutet, genau das tun viel. Aber warum nicht weiter gehen? Warum nicht plug jedes kleine Loch, das Sie finden können? Die Antwort ist in zwei Teile. Erstens, wenn jemand über die ethische Schwelle bewusst brechen Ihre Lizenzbedingungen — auch in einer einfachen Art und Weise — werden Sie auch bereit sein, etwas zu tun, eher schwierig oder gefährlich, wie ziehen Sie Ihre Anwendung von einer torrent Website — und es gibt eine bestimmte Menge von Gefahren bei der Ausführung von Anwendungen aus nicht vertrauenswürdigen Quellen heruntergeladen. So dass es schwerer ist nur ein kleines ärgernis, für diese Benutzer und Risiken, was zu Problemen mit Ihren zahlenden Kunden. Es einfach zu halten, kann verhindern, dass jemand von Graben in Ihre Anwendung und Veröffentlichung einer umfassenden knacken. Zweitens, Sie haben paar Augen zur Verfügung zu suchen, Fehler; die Hacker haben viele, und Sie haben mehr übung darin, Sie zu finden. Sie müssen nur an miss eine kleine Schwachstelle, und Ihre app wird die gleiche Verteilung auf Piraten-Websites, als ob Sie gar nichts. Sie haben zu Recht jedes mal; Sie haben nur ein einziges mal Glück. Also der Aufwand ist sehr hoch, und die Wahrscheinlichkeit, dass jede Maßnahme, die von Erfolg ist sehr gering.
Letztlich, wenn jemand will, um Piraten Ihre Anwendung (im Gegensatz zu nur es zu verwenden), und das ist Ihr Hauptziel, Sie werden. Es nichts, was Sie tun können, um Sie zu stoppen. Dies ist die Art von software, wenn die Dateien, aus denen Ihr Produkt auf dem computer eines Benutzers Sie wird in der Lage sein, mit Ihnen zu tun, wie Sie wollen. Dies ist besonders relevant in verwalteten Umgebungen wie Java oder .NET, aber es gilt auf jeden Fall, um nativen code. Die Zeit ist auf Ihrer Seite, und genügend Zeit jede digitale Sicherheit gebrochen werden kann.
Da kann man nicht aufhören, die Nutzer von Piraterie-Ihr Produkt, Ihre beste Vorgehensweise zu nehmen, ist diese Klasse von user in einer Art und Weise das nutzt Sie zu Ihrem Vorteil. Es ist oft möglich, um Sie für Sie arbeiten, anstatt gegen Sie. Mit dem im Verstand, egal, was Ihre Anwendung ist, lohnt es sich wahrscheinlich, es zu halten eine Kostenlose version, die ist fast voll funktionsfähig und läuft nie ab. Der Unterschied zwischen selbst 1 US-Dollar-Preis und gratis ist riesig, wenn aus keinem anderen Grund als dem, dass der Kunde nicht Vertrauen, die Sie mit Ihrer Kreditkarte. Eine Kostenlose edition der Ihr Produkt nicht nur effektiv zu töten Raubkopien Verteilung (warum das Risiko eine raubkopierte version, wenn Sie legitim sein können, für den gleichen Preis?), es hat das Potenzial, drastisch erweitern Sie Ihre Zielgruppe.
Das Ergebnis ist, dass müssen Sie möglicherweise erhöhen den Preis für die kostenpflichtige edition, so dass am Ende statt 2.000 Benutzer bei $20 pro Sie haben 100.000 Nutzer kostenlos, von denen 500 zu zahlen bereit sind 99 $für die "professional" - edition. Dies verdient Sie mehr Geld, als wenn Sie verbrachte eine Menge Zeit sperren bis Ihr Produkt. Mehr als das, können Sie diese beauftragen die Nutzer kostenlos, und nutzen Sie die Beziehung in mehreren wichtigen Punkten.
Ist Unterstützung. Ein pessimist würde diese Gelegenheit nutzen, beschweren sich über die erhöhten Kosten der Unterstützung zu 100.000 Nutzer kostenlos, aber etwas erstaunliches passiert stattdessen: Ihr Produkt wird weitgehend selbsttragend. Sehen Sie diese die ganze Zeit mit großen open-source-Projekte, die haben kein Geld für support-Kosten. Der Benutzer wird Schritt für Schritt und machen es möglich.
Gratis-Nutzer haben in der Regel niedrigere support-Erwartungen zu beginnen, und das aus gutem Grund. Alles, was Sie tun müssen, markieren Sie die free edition nur als Qualifikation für die Gemeinschaft unterstützen und einen Benutzer-moderierte online-forum für diesen Zweck. Ihre support knowledge base ist die selbst-Erzeugung, und fortgeschrittene Anwender shepherd diejenigen, die zusätzliche hand-holding auf Ihren Auftrag. Noch wichtiger ist, dies wird Ihnen ermöglichen, zu identifizieren und beheben Sie Fehler schneller und verbessern letztendlich die Qualität Ihres Produkts und Verringerung der support-Kosten. Dies war zuvor nicht möglich, weil Ihre Nutzerbasis nicht groß genug, aber wenn Sie behandeln den Nutzer kostenlos, da die Kunden es kann sehr gut funktionieren.
Anderes ist feedback. Durch beobachten Sie Ihr forum, Sie lernen wichtige Verbesserungsvorschläge, die Sie nie haben können, als sonst. Dies kann Ihnen erlauben, um letztlich wiederum mehr von Ihr Kostenlose Nutzer in zahlende Nutzer und schaffen ein überzeugendes Produkt, das die locken ein größeres Publikum anzusprechen.
Schließlich müssen Sie überlegen, Vermarktung. Alle diese Nutzer kostenlos sind jetzt fans eher als Gegner, und Sie werden entsprechend handeln. Nicht nur das, aber wenn es Zeit kommt, um die Veröffentlichung Ihres nächsten version diese Benutzer haben alle mitgemacht genehmigten Vertriebskanal, sondern als in einigen anderen unbekannten Mechanismus. Das bedeutet für Ihre nächste version, die Sie beginnen, verbunden mit einem größeren, sehr interessierten und unterstützenden Publikum.
Die besten Eigenschaften, um reserve für die professional edition sind Instrumente, die darauf abzielen, es einfach zu tun corporate deployment und management. Ein cracker nicht sehen, diese als zwingenden Grund genug, es zu hacken, für den eigenen Gebrauch, sondern für ein Unternehmen suchen, kaufen 300 Lizenzen und schieben Sie ihn auf die unternehmensweite dies ist ein muss-haben. Natürlich, die professional edition wird Raubkopien sowieso nicht, aber wieder: nicht Schwitzen, weil Sie wahrscheinlich nicht in der Lage sein, das Produkt zu verkaufen, um diese Piraten, egal, was Sie getan haben, so ist es nicht kostet Sie alle Einnahmen.
Während psychologisch kann es hart sein, zu verschenken, Ihr Produkt so viel, ich hoffe, Sie können verstehen, wie es wirklich ist der beste Weg zu gehen. Nicht nur das, es ist der einzige Weg zu gehen in der langfristig. Ich weiß, jemand ist da draußen denken, dass Sie nicht wollen, es zu tun auf diese Weise. Nachdem alle, die Sie haben, nur durch feine, den Verkauf Ihrer locked-down - $20 Produkt seit Jahren. Aber das ist eben nur schade, denn wenn Sie nicht tun es auf diese Weise schließlich jemand anderes. Und Ihr Produkt ist nur so gut wie Ihr, oder nahe genug, die Sie bekommen können, Weg mit zu fordern. Dann plötzlich Ihre Preisgestaltung sieht unverschämt, der Umsatz dramatisch zurück, und es gibt nichts, was Sie tun können. Sie entscheiden sich für eine zusätzliche mittlere Schicht, wenn Sie müssen, aber es ist unwahrscheinlich, Ihnen zu helfen.
es ist irgendwie wuchs im Laufe der Zeit, und übergeben die automatische konvertieren CW-Schwelle.
+1 Besser als die Antwort, die ich gab, um die Vorherige version von dieser Frage. @Joel Wusste nicht, es war die Grenze.
Gutes argument, aber findet einen Punkt, über den Schutz des geistigen Eigentums. Wenn Ihre app hat einige code, der etwas tut, das ist etwas komplexer, Verschleierung kann den Unterschied zwischen flach aus, kopieren und einfügen von code, und versuchen zu interpretieren und zu re-konstruieren-code, damit es funktioniert. Dies ist besonders wichtig bei updates: wenn jemand kopiert Ihre obfuscated code bei der Freigabe ein update, Sie haben zu tun, dass immer wieder - und am allerwenigsten, es bewirkt, dass Sie mehr Schmerzen/Kosten/Zeit. Wenn Sie nicht haben es geschützt, Sie nur copy/paste wieder und es funktioniert.
Toller Beitrag - es geht wirklich in alle die richtigen details über die Gründe, warum es nicht Wert sich die Mühe zu schreiben-Komplex Kopierschutz. Obwohl die Frage ist eine doppelte, es lohnt Wiedereröffnung es gerade für diese Antwort. Vielleicht kann das ein mod Zusammenführen?
InformationsquelleAutor
In meiner Erfahrung, so dass Ihre Anwendung oder die Bibliothek, die schwerer zu knacken ist, schadet dem ehrlichen Kunden, während nur leicht verzögern, die unehrlich lieben. Konzentrieren Sie sich auf die eine große, niedrige Reibung-Produkt, anstatt viel Aufwand in der Verzögerung des unvermeidlichen.
InformationsquelleAutor
Ein Geheimnis, das Sie teilen mit vielen Menschen, ist kein Geheimnis. Wenn Sie haben geheime Sachen in den code, verschleiern es ist kein Schutz; es muss nur Entschleierte einmal. Wenn Sie haben ein Geheimnis, dass Sie nicht wollen, zu teilen mit Ihren Kunden, dann nicht teilen Sie es mit Ihren Kunden. Schreiben Sie Ihren code als web-service und halten Sie Ihre super geheimen code auf dem eigenen server, wo nur Sie Sie sehen können.
Interessante Idee, butWhat Vorgehen empfehlen Sie jemandem, der Entwicklung einer Anwendung, die laufen muss, ohne eine Datenverbindung, wie ein WP7 Spiel?
InformationsquelleAutor
Allgemein gesprochen, gibt es drei Gruppen von Menschen gibt.
Diejenigen, die das nicht kaufen Sie Ihre software und resort zu Rissen, oder wenn Sie nicht finden, eine, die nicht Ihre software an. Erwarten Sie nicht, um Geld zu verdienen aus dieser Gruppe. Sie verlassen sich entweder auf Ihre eigenen Fähigkeiten oder auf Cracker (die neigen dazu, die Priorisierung Ihrer Zeit je auf Ihre nützlich-und wie groß Ihr Publikum ist. Umso nützlicher, je früher ein crack verfügbar sein wird).
Die Gruppe der berechtigten Nutzer, die zu kaufen (bezahlen) Ihre software, unabhängig davon, was die Schutz-Mechanismus, die Sie verwenden. Machen Sie nicht das Leben schwer, Ihre legitimen Benutzer mit einem aufwändigen Schutz-Mechanismus, da Sie gehen, um zu bezahlen, ist es in jedem Fall. Ein Komplexes Schutz-Mechanismus können leicht verderben, die user experience und das wollen Sie nicht passiert, zu dieser Gruppe. Ich persönlich Stimme gegen jede hardware-Lösung, die zusätzlich zu den Kosten Ihrer software.
Einer Minderheit, die nicht greifen "unethisch" knacken und bezahlen für Ihre software weil seine Funktionen sind geschützt durch eine Lizenz-Mechanismus. Sie wahrscheinlich nicht wollen, machen es besonders einfach, für diese Gruppe zu umgehen und Ihren Schutz. Jedoch, alle, die Mühe, die Sie verbringen auf den Schutz Ihrer software zurück zu zahlen, je nachdem, wie groß diese Gruppe von Menschen ist. Dies hängt ganz von der Art der software, die Sie erstellen.
Gegeben, was Sie gesagt haben, wenn Sie denken, es ist eine ausreichend große Minderheit, die geschoben werden können, in den Kauf Ihrer software, gehen Sie vor und implementieren, irgendeine form von Schutz. Denken Sie über wie viel Geld können Sie machen von dieser Minderheit gegenüber der Zeit verbringen Sie arbeiten, die auf den Schutz oder den Betrag, den Sie verbringen auf einen Dritten protection API/tool.
Wenn Sie gerne eine Lösung implementieren, der eigene, mit public-key-Kryptographie ist eine gute Möglichkeit (im Gegensatz zu symmetrischen algorithmen), um zu verhindern, dass easy hacks. Beispielsweise können Sie Digital signieren Sie Ihre Lizenz (Seriennummer oder Lizenz-Datei). Der einzige Weg, dies zu umgehen, wäre dann, zu dekompilieren, zu ändern und kompilieren Sie den code (den Sie machen könnten, schwieriger, mit Techniken wie die vorgeschlagene in der Simucal Antwort).
Vereinbart, aber wie ich schon sagte, ist der Schutz nicht für diejenigen Gruppen, die der Benutzer greifen mit Risse (eine Annahme, die ich gemacht existieren wird).
public-key-Kryptographie = die asymmetrische Kryptographie. Ich denke, du meintest symmetrisch.
Mist, danke für den Hinweis es aus, werde ich Bearbeiten 🙂
Um fair zu sein, der Dritte Punkt ist voreingenommen, da es davon ausgegangen, dass der Anteil der Menschen ist immer eine Minderheit. Ich bin mir ziemlich sicher, dass unter bestimmten Rahmenbedingungen ist es eine deutliche Mehrheit. Ich habe online-Spiele mit Mehrspieler-features im Auge, weil a) die meisten Benutzer sind Kinder mit sehr niedrigen ethischen standards b) die Kosten können erheblich sein, um jene Nutzer, wenn es eine monatliche Gebühr, die schleppt seit Monaten etc.
InformationsquelleAutor
Können Sie nicht verhindern, dass Menschen von cracking-software.
Allerdings können Sie machen Sie zu schaffen Risse, die sich weh tun wird, Ihre Verkäufe weniger. Keygenerators, die herausgeben können einen gültigen Registrierungs-code für Ihre software sind viel schlimmer als die einfachen Flecken zu entfernen, die Registrierung Anreize aus Ihrer software. Das ist, weil ein Riss Arbeit für eine software-version, und wird aufhören zu funktionieren, mit dem nächsten software-update für Sie freizugeben. Der keygenerator funktioniert weiterhin, bis Sie Sie ändern Ihre Registrierung Schlüssel-Algorithmus und das ist etwas, was Sie nicht wollen, zu oft tun, denn es wird stellen Sie Ihre ehrlichen Kunden.
So, wenn Sie sind auf der Suche nach einer Methode, die zur Bekämpfung der illegalen keygenerators für Ihre software, die Sie nicht verwenden möchten, Assymmetrische Verschlüsselung aufgrund der langen Registrierung-codes, die dies erzeugt, haben Sie vielleicht einen Blick auf Partial-Key-Überprüfung.
Teilweise Key-Überprüfung stellt sicher, dass jeder illegalen keygenerator funktioniert nur für ein bestimmtes release der software. Im Grunde, was Sie tun, ist, stellen Sie sicher, dass jede Version Ihrer software nur links mit dem code für die überprüfung EINIGE Ziffern der Registrierungs-code. Die Ziffern genau ist zufällig, also Cracker hätte, reverse Engineering viele unterschiedliche Versionen Ihrer software und zu kombinieren, dies alles in ein keygenerator, um um die Freigabe der keygenerator funktioniert für alle Versionen Ihrer software.
Wenn Sie neue software-Versionen auf einer regelmäßigen basis, dies führt zu zahlreichen keygenerators breitete sich auf alle Arten von software-Piraterie-Archive, die nicht mehr funktioniert. Potenzielle software-Piraten sehen in der Regel einen crack oder keygen für die aktuelle version, so werden Sie wahrscheinlich versuchen, ein paar von diesen und geben bis schließlich.
Habe ich die Partial-Key-Überprüfung in meiner (C++) neuere shareware-Spiele und es wurde sehr effektiv. Vorher hatten wir viele Probleme mit keygenerators wir konnten nicht kämpfen. Afterewards es gab viele Risse und einige wenige keygenerators, arbeitete nur für die jeweilige version des Spiels, aber kein key-generator, das würde funktionieren mit allen Versionen. Wir regelmäßig veröffentlicht, sehr kleine updates für das Spiel und machen alle zuvor vorhandenen Risse unbrauchbar.
Scheint es eine open-source -.NET framework für die Partielle Key Verification, obwohl ich es nicht ausprobiert.
Interessante Idee, aber was genau ist das problem mit einem langen Registrierungs-code, eh? Heutzutage würde niemand geben Sie es ohnehin von hand - würde das jeder kopieren und fügen Sie ihn, ob es also 10 Zeichen oder 100 Zeichen sollte keinen Unterschied machen.
Das ist nur wahr, wenn Ihre Benutzer sind Hauptbenutzer. Haben wir die Erstellung shareware / casual-Spiele für viele Jahre, und ich kann Ihnen sagen, dass die meisten unserer Nutzer nicht kopieren und einfügen. Das Anmeldefenster kommt sogar mit einem Handbuch auf, wie zu kopieren und einzufügen, und einige sogar nicht es nach zu Lesen.
Wow!!! OK, gut, Sie haben offensichtlich mehr Erfahrung als ich in diesem, so kann ich nicht argumentieren, ich kann nur sagen, ich bin überrascht. Aber ich würde sagen, dass, wenn Sie nicht wissen, wie kopieren und einfügen, dann sollte machen den code 200 Zeichen lang, so dass Sie lernen, eine sehr nützliche Allgemeine computer-Fähigkeiten. 🙂
Auch mit der kurzen Registrierung-codes, bekamen wir noch eine Menge e-mails von Menschen, die haben sich vertippt haben, Ihre codes und daher dachte, dass der code nicht gültig sein, weil Sie nie einen Fehler machen, wie dies mehrere Male in einer Reihe. Ich bevorzuge zu verlassen, die ES Lehre, zu anderen Unternehmen... 🙂
InformationsquelleAutor
Verwenden Sie ein online-update zu blockieren, die nicht lizenzierte Kopien.
Überprüfen Sie die Seriennummer aus verschiedenen Modulen, die von Ihrer Anwendung und nicht mit einem einzigen
Funktion aufrufen, um die Prüfung (so, dass Cracker nicht umgehen können, die Prüfung problemlos).
Nicht nur überprüfen Sie die Seriennummer an
startup, die Prüfung während
speichern von Daten, tun Sie es jeden Freitag
Abend, tun Sie es, wenn der Benutzer untätig ist
...
Überprüfen Sie die Anwendung "file check"
Summe, speichern Sie Ihre Sicherheits-check Summe in
verschiedenen stellen.
Nicht zu weit gehen, auf diese Art von
tricks, stellen Sie sicher, dass Ihre Anwendung
niemals zum Absturz bringen/Holen in Störung
während der überprüfung von den Registrierungscode zu stellen.
Bauen eine nützliche app für Anwender
viel wichtiger als eine
unbreakable binäre für Cracker.
InformationsquelleAutor
Können Sie..
Microsoft SLP ServicesInishTech Software Potenzial bietet die Möglichkeit zum Schutz code ohne Auswirkungen auf die Funktionalität Ihrer Anwendungen.UPDATE: (Disclosure: ich arbeite auf Eazfuscator.NET) Was macht
Microsoft SLP ServicesSoftware Potenzial unterscheidet, ist die Fähigkeit zu virtualisieren Sie den code, so dass Sie definitiv kann. Mehrere Jahre vergingen, da war die Frage ursprünglich gestellt, heute gibt es mehrere Produkte zur Verfügung, die auch arbeiten auf einer ähnlichen Grundlage wie:Ich habe es ausprobiert, es funktioniert sehr gut aber nur verschlüsselt der code innerhalb einer Methode wird nicht die ganze Baugruppe oder Projekt, so kann ein cracker leicht ändern den Ablauf des Programms mit IL-Injektion
Wenn das hinzufügen von Hersteller-links, die Sie wirklich brauchen, um zu geben Ihre verbindungen in die post. Auch die derzeit verfügbare version des SLPS (die ich der Arbeit :D) unterstützt die Generika. Selbstverständlich sind alle Lösungen haben Ihre individuellen vor-und Nachteile, dass nur eine eval kann richtig contextualise für Menschen
Ich verstehe nicht, was du sagst - der Punkt ist, dass Sie brauchen, um alle Methoden, bei denen die Hinzufügung/Entfernung/änderung von IL darstellen würde eine Lizenz-Verletzung. Da die Virtualisierung Dinge können nicht frei sein, es macht einfach keinen Sinn auf 'Magische Weise schützen Sie all', wie Sie vorgeschlagen sind. Zurück zum Kernpunkt: Das Ziel der SP ist, ist der Schutz um zu verhindern, dass IL änderungen an Methoden, die Sie wählen, auf der Grundlage, dass Sie empfindlich (plus in der Regel einige andere, wie Lärm zu vermeiden ist die Pflanzung eines Sie brauchen zum knacken dieses bit hier --> Zeichen)
Ich Stimme mit Ihnen überein. Leider ist dieser thread viel zu groß mit mehreren Seiten Inhalt. Zuerst wollte ich Sie zum hinzufügen einer neuen Antwort, aber StackOverflow vorgeschlagen, dass es besser ist, erweitern Sie die bestehenden ein. Also Tat ich es. Hoffe, mein kleines Stück von Informationen, die nützlich ist. Vielen Dank für ein update auf die generelle Unterstützung in SLPS und Ihre Korrekturen.
InformationsquelleAutor
.NET Reflector nur öffnen, "managed code", die im Grunde bedeutet ".NET-code". So können Sie nicht verwenden, es zu zerlegen, COM, DLL-Dateien, native C++, classic Visual Basic 6.0 code, etc. Die Struktur zusammengestellt .NET-code macht es sehr bequem, tragbar, sichtbar, nachweisbar, etc. .NET Reflector zunutze zu lassen, Sie peer in kompilierten Assemblys aber decompilers und Zerleger sind keineswegs spezifisch für .NET und die es schon so lange, wie Compiler schon.
Können Sie obfuscators zu machen den code schwerer zu Lesen, aber Sie können nicht genau das verhindern, dekompiliert, ohne macht es auch nicht lesbar .NET. Es gibt eine Handvoll von Produkte gibt (meist teuer), die behaupten, "link" Ihre Anwendung verwalteten code in einen nativen code-Anwendung, sondern auch dann, wenn diese tatsächlich funktionieren, eine bestimmt person wird immer einen Weg finden.
Wenn es um die Verschleierung aber Sie bekommen, was Sie bezahlen. Also, wenn Ihr code ist so proprietär, dass Sie gehen müssen, um so große Längen zu schützen, sollten Sie bereit sein, Geld zu investieren in einen guten obfuscator.
Jedoch in meinen 15 oder so Jahre Erfahrung, code zu schreiben ich habe erkannt, dass die über-Schutz Ihrer Quell-code ist eine Verschwendung von Zeit und hat wenig nutzen. Nur zu Lesen versucht, original-source-code, ohne Unterlagen, Kommentare, etc. kann sehr schwierig sein zu verstehen. Hinzu kommt, dass die sinnlose Variablennamen, decompilers und die spaghetti-code, die moderne obfuscators erstellen - die Sie wahrscheinlich nicht haben, um sorgen zu viel über die Menschen zu Diebstahl Ihres geistigen Eigentums.
InformationsquelleAutor
Ist es das wirklich Wert? Jede Schutz-Mechanismus durchbrochen werden kann, mit ausreichend Entschlossenheit. Betrachten Sie Ihre Markt -, Preis des Produkts, der Menge der Kunden, etc.
Wenn Sie möchten, etwas mehr zuverlässig, dann gehen Sie den Weg der hardware-Tasten, aber das ist eher lästig (für den Nutzer) und teurer. Software-Lösungen wäre wahrscheinlich eine Verschwendung von Zeit und Ressourcen, und das einzige, was Sie geben würde, Sie ist ein Falsches Gefühl der "Sicherheit".
Paar mehr Ideen (keiner ist perfekt, da es kein perfektes).
Und nicht zu viel Zeit verschwenden, denn die Cracker haben viel Erfahrung mit den typischen Techniken und ist wenige Schritte vor Ihnen. Es sei denn, Sie verwenden eine Menge von Ressourcen, wahrscheinlich ändern Sie die Programmiersprache (tun es die Skype-Möglichkeit).
Ja, das stimmt, der einzige wirkliche option wäre es, die Anwendung teilweise in hardware implementiert (einige seltsame Mischung aus software-VHDL-Anwendung zum Beispiel). Dies wäre auch knacken, aber...
Was über dongles, die Umsetzung eines public - /private-key-Strategie. Nur der private key des Dongles können Sie entschlüsseln die Anwendung und führen Sie es.
Das ist, was die hardware-Taste in der Regel nicht. Aber Sie können entweder greifen die dongle - Klon, oder die software verantwortlich für die Kommunikation mit dem dongle (umgehen, deaktivieren, etc).
In meinem Fall WAR es wirklich Wert. Nachdem ich realisiert Teilweise Key-Überprüfung und verändert den Registrierungsschlüssel System für ein bestehendes Produkt, der Umsatz stieg in signifikanter Weise. Alle software kann geknackt werden, die Frage ist nur, wie hoch Sie die Messlatte für den casual-software-Piraten.
InformationsquelleAutor
Wenn Sie möchten, dass Ihr code (und wenn nicht, warum hast du dann schreiben Sie es in den ersten Platz?), dann Ihre CPU muss in der Lage sein, um die Ausführung von code. Um der Lage sein, um ausführen den code, die CPU muss in der Lage sein verstehen.
Da CPUs sind dumm, und die Menschen nicht, dies bedeutet, dass die Menschen den code verstehen können, wie gut.
Es gibt nur einen Weg, um sicherzustellen, dass Ihre Benutzer nicht mit code: geben Sie nicht Ihr code.
Erreicht werden kann dies über zwei Wege: Software-as-a-service (SaaS), das heißt, führen Sie Ihre software auf Ihre server und nur lassen Sie Ihre Benutzer Zugriff auf die Remote. Dies ist das Modell, dass Stack Overflow verwendet, zum Beispiel. Ich bin mir ziemlich sicher, dass der Stapel Overflow nicht verschleiern Ihre Codes, doch Sie können nicht dekompilieren.
Der andere Weg ist der appliance-Modell: statt zu geben, Ihre Benutzer Ihren code, geben Sie Ihnen ein computer mit dem code. Dies ist das Modell, dass die gaming-Konsolen, die meisten Handys und TiVo verwenden. Beachten Sie, dass dies nur funktioniert, wenn man "eigene" die gesamte Ausführung-Pfad: Sie müssen bauen Sie Ihre eigene CPU, eigenen computer haben, schreiben Sie Ihr eigenes Betriebssystem und Ihre eigenen CLI Umsetzung. Dann, und nur dann schützen Sie Ihr code. (Beachten Sie jedoch, dass auch die kleinste Fehler machen wird, alle Ihre Schutzvorkehrungen nutzlos. Microsoft, Apple, Sony, die Musikindustrie und die Filmindustrie kann das bezeugen.)
Oder Sie konnte einfach nur nichts tun, was bedeutet, dass Ihr code wird automatisch durch das Urheberrecht geschützt.
InformationsquelleAutor
Leider gehen Sie nicht zu laufen Weg von diesem. Ihre beste Wette ist, um Ihren code schreiben, in C und P/Invoke.
Gibt es einen kleinen catch-22, jemand könnte einfach zu dekompilieren Ihre Anwendung CIL und töten jede überprüfung/Aktivierung code (zum Beispiel, wird der Anruf an Ihre C-Bibliothek). Denken Sie daran, dass Anwendungen, die in C geschrieben sind, auch reverse-engineered durch die länger anhaltenden Hacker (schauen Sie nur, wie schnell Spiele geknackt werden in diesen Tagen). Nichts schützt Ihre Anwendung.
Am Ende funktioniert es ähnlich wie Ihr Haus, schützen Sie es gut genug, so dass es zu viel Aufwand ist (spaghetti-code würde hier helfen) und so, dass der Angreifer bewegt gerade auf Ihre nächste Nachbar (Wettbewerb 🙂 ). Suchen Sie auf der Windows Vista, muss es 10 verschiedene Möglichkeiten, um es zu knacken.
Gibt es Pakete gibt, wird verschlüsseln Sie Ihre EXE-Datei und entschlüsseln, wenn der Benutzer wird erlaubt, es zu benutzen, aber wieder, ist die Verwendung einer generischen Lösung, die ohne Zweifel schon geknackt.
Aktivierung und Registrierung Mechanismen richten sich an den "durchschnittlichen Joe:" Menschen, die nicht genügend Ahnung von Technik zu umgehen (oder für diese Angelegenheit wissen, Sie können es umgehen). Kümmern Sie sich nicht mit Cracker, Sie haben viel zu viel Zeit auf Ihren Händen.
InformationsquelleAutor
Abgesehen von Kauf Schutz, Sie (bzw. Ihre Entwickler) können lernen, zu kopieren und zu schützen.
Diese Ideen:
Auf den ersten, versuchen Sie, ein Programm zu schreiben, schreibt sich auf die Konsole. Das ist ein bekanntes problem. Primäre Zweck dieser Aufgabe üben Sie das schreiben von self-referencing-code.
Zweitens müssen Sie entwickeln eine Technologie, die rewrite-code in einer Weise
zuverlässig auf andere Methoden' CIL.
Schreiben Sie eine virtuelle Maschine (noch in .NET). Und fügen Sie einige code in es.
Letztlich, die virtuelle Maschine läuft eine andere virtuelle Maschine, die den code ausführt.
Das ist für einen Teil der selten-Funktionen aufgerufen, um nicht zu verlangsamen die Leistung zu viel.
Neu schreiben einige von Logik in C++/CLI und mischen von verwaltetem code mit unmanaged. Dies härtet die Demontage. In diesem Fall, vergessen Sie nicht, x64 Binärdateien zu.
InformationsquelleAutor
Ja. Es ist wahr. .NET-code ist extrem einfach zu reverse engineeren, wenn der code nicht obfuscated.
Verschleierung wird, fügen Sie eine Schicht von Belästigung von Menschen, die versuchen, reverse Engineering für Ihre software. Je nachdem, welche version Sie bekommen, bekommen Sie die verschiedenen Ebenen des Schutzes.
Visual Studio enthält eine version von Dotfuscator. Da es eine gebündelte version, Sie sind definitiv nicht immer die stärkste Verschleierung möglich. Wenn Sie einen Blick auf Ihre feature-Listen, sehen Sie genau, was Ihnen fehlt (und genau das, was die Anwendung tun wird, um Ihren code sicherer).
Gibt es ein paar andere freie oder open-source .NET obfuscators gibt (aber ich kann nicht kommentieren die Qualität oder die verschiedenen Methoden, die Sie verwenden):
Am Ende, nichts ist perfekt. Wenn jemand wirklich will, um zu sehen, wie Ihre software funktioniert, werden Sie.
Psscht! Sie können nicht lassen Sie den rest der Welt wissen, dass wir die meiste Zeit, die Sie nicht verwenden magischen Feenstaub algorithmen.
Justin: Tut die Liebe zählt als eine Magische Algorithmus? Liebe ist, was macht die meine spezielle Programme. Ich glaube nicht, können Sie zerlegen Liebe.
InformationsquelleAutor
Gut, Sie kann nicht VOLLSTÄNDIG schützen Sie Ihr Produkt knacken, aber Sie können maximieren/erhöhen Sie die Sicherheit Ebenen und machen es ein bisschen zu schwierig zu knacken, indem Anfänger und fortgeschrittene Cracker.
Aber Bedenken Sie, nichts ist unknackbar, nur die software auf der server-Seite ist gut geschützt und können nicht geknackt werden. Sowieso, zur Verbesserung der Sicherheit Ebenen in Ihrer Anwendung, können Sie einige einfache Schritte, um zu verhindern, dass einige Cracker "nicht alle", von krachend Ihre Anwendungen. Diese Schritte werden machen diese Cracker Nüsse gehen und vielleicht verzweifelt:
Jene sind nur einfache Methoden, um zu verhindern, dass Neulinge und fortgeschrittene Cracker von Rissbildungen Ihre Anwendung. Wenn Sie noch mehr Ideen, zu schützen, Ihre Anwendung nur nicht schüchtern sein, um Sie umzusetzen. Es macht Cracker Leben schwer, und Sie werden frustriert, und schließlich verlassen Sie Ihre Anwendung, denn es ist einfach nicht Wert Ihre Zeit.
Schließlich, Sie müssen auch überlegen, verbringen Sie Ihre Zeit auf die Codierung eine gute und hochwertige Anwendungen. Vergeuden Sie nicht Ihre Zeit auf Codierung komplizierte Sicherheits-Schichten. Wenn ein guter Pirat will Riss Ihre Anwendung er/Sie tun wird, egal was Sie tun...
Gehen Sie jetzt und implementieren Sie einige Spielsachen für die Kekse...
InformationsquelleAutor
Gibt es Salamander, die ein Muttersprachler .NET-compiler-und-linker von Remotesoft, können Anwendungen bereitstellen, ohne die .NET-framework. Ich weiß nicht, wie gut es lebt bis zu seinem Ansprüche.
InformationsquelleAutor
Wenn Microsoft könnte mit einer Lösung kommen, wir haben keine Raubkopien von Windows-Versionen, so dass nichts ist sehr sicher. Hier sind einige ähnliche Fragen aus Stapel Overflow und realisieren Sie Ihren eigenen Weg, Sie zu schützen. Wenn Sie die Freigabe verschiedenen Versionen, dann kann man annehmen, verschiedene Techniken für verschiedene version, so dass durch die Zeit, die erste ist geknackt, die zweite übernehmen kann.
Die Verwaltung verfügt über eine Lizenz die Grundlage für eine C++ - Anwendung
Sicher eine DLL-Datei mit der Lizenz-Datei
Zulassungs - /Schutz-software?
InformationsquelleAutor
.NET Reactor
Update
Jared wies darauf hin, dass de4dot behauptet, in der Lage sein zu dekompilieren.
Ich hatte einige Probleme mit Ihrem Produkt früher und dann fragte ich einige Frage bezüglich hochauflösende icons in Gruppen.google.se/group/net-Reaktor-Benutzern und ich habe eine Antwort und eine Lösung, aber jetzt es scheint, wie Sie sind schwer zu ergattern. Schlecht - es ist ein großartiges Produkt, und ich bin es immer noch mit
Wenn "kein existierendes tool kann dekompilieren", warum ist es aufgeführt, als unterstützte obfuscator/packer auf der de4dot features-Seite?: bitbucket.org/0xd4d/de4dot
Wahrscheinlich, weil es ist eine alte Aussage, und Sie noch nicht aktualisiert Ihre Webseite. Ich bin nicht länger ein Anwender einer Verschleierung tool.
InformationsquelleAutor
Hier ist eine Idee: man könnte einen server gehostet von Ihrem Unternehmen, dass alle Instanzen der software, die eine Verbindung herstellen müssen. Einfach, mit Ihnen zu verbinden, und überprüfen Sie den Registrierungsschlüssel ist nicht ausreichend-Sie werden einfach das Häkchen entfernen. Zusätzlich zu den key überprüfen, müssen Sie auch den server führt einige wichtige Aufgabe, die der Kunde nicht selbst durchführen, so ist es unmöglich zu entfernen. Dies würde wahrscheinlich bedeuten, eine Menge von schweren Verarbeitung auf dem Teil des Servers, aber es würde machen Sie Ihre software nur schwer zu stehlen, und vorausgesetzt, Sie haben einen guten key-System (prüfen, Eigentum, etc), werden die Tasten auch nur schwer zu stehlen. Dies ist wahrscheinlich mehr invasiv als die, die Sie wollen, da wird es erfordern, Ihre Benutzer mit dem internet verbunden sein, um Ihre software zu verwenden.
Ich Stimme dem vollständig zu. Das ist, warum ich sagte, "das ist wohl mehr invasiv als die, die Sie wollen..." in meinem letzten Zeile. Ich war gerade mit der OP die beste Lösung, die ich dachte, war technisch nicht machbar, nicht der beste Ansatz, um Ihre Kunden glücklich 🙂
Im ersten Quartal 2010 (mehrere Monate nach dieser Antwort geschrieben wurde), das Spiel Entwicklung der Firma Ubisoft ausprobiert, und anscheinend die Last auf dem server-side Komponenten, die war so groß, dass die Spiele waren unspielbar. Gesamteindruck der SW: "mühsam zu installieren, nicht offline verwendet werden kann, invasive und unzuverlässig". Also, sollten Sie entscheiden, dass die Verarbeitung auf der Serverseite ist der Weg zu gehen, stellen Sie sicher, Sie können tatsächlich Skala zu verlangen.
InformationsquelleAutor
Alles, was auf dem client ausgeführt werden kann dekompiliert und rissig. Obfusification macht es nur schwieriger. Ich weiß nicht, Ihre Anwendung, aber 99% der Zeit ich glaube nicht, dass es die Mühe Wert ist.
InformationsquelleAutor
Verschleiern der code! Es gibt ein Beispiel in Verschleierung Von C# - Code.
InformationsquelleAutor
Bedenken, dass 99%+ der Benutzer nicht daran interessiert, die Prüfung der ausführbaren Datei, um zu sehen, wie es funktioniert.
Gegeben, dass so wenige Leute auch nur die Mühe zu versuchen und, dass die meisten obfuscators umgangen werden kann, ist es Wert Ihre Zeit und Mühe?
Wären Sie besser dran, die Investition von Zeit in die Verbesserung Ihres Produkts, so dass mehr Menschen wollen, es zu benutzen.
InformationsquelleAutor
Nur eine Warnung: wenn Sie verwenden, Verschleierung, zu überprüfen, dass noch alles funktioniert! Verschleierung ändern kann, Dinge wie Klasse und Methode Namen. Also, wenn Sie die Reflexion zu nennen, die bestimmte Methoden und/oder Klassen (wie in einer plugin-Architektur) Ihre Anwendung kann fehlschlagen, nachdem verschleiern. Auch stacktraces nutzlos, auf die Spur von Fehlern.
InformationsquelleAutor
Wenn es geschrieben steht .NETZ und kompiliert CIL, es reflektiert werden kann. Wenn Sicherheit ein Anliegen ist und Verschleierung zu vermeiden ist, dann empfehle ich das schreiben Ihre Bewerbung mit einem nicht verwalteten Sprache, die von Natur aus schwerer zu reverse Engineering.
InformationsquelleAutor
Haben beide die gleiche sehr einfache Antwort: keine Objekt-code zu nicht vertrauenswürdigen Dritten, wie (scheinbar) Ihre Kunden. Ob es machbar ist zum hosten der Anwendung auf Ihrem Computer hängt nur auf, was es tut.
Wenn es nicht web-Anwendung, vielleicht können Sie es für SSH login mit X-forwarding zu einem Applikations-server (oder Remote-Desktop-Verbindung, ich denke, für Windows).
Geben, wenn Sie Objekt-code zu nerdy Typ Personen, und Sie denken, dass Ihr Programm könnte sein, Spaß zu knacken, es wird get geknackt. Keine Möglichkeit um ihn herum.
Wenn Sie mir nicht glauben, dann zeigen Sie eine hohe-Profil-Anwendung, der bisher nicht geknackt und Raubkopien.
Wenn man mit der hardware-Tasten, es werde die Produktion teurer und Ihre Nutzer werden Sie dich dafür hassen. Es ist eine echte Schlampe zu kriechen auf dem Boden herum stecken und ziehen Ihre 27 anderen USB-Dinger, weil die software-Hersteller nicht trauen, Sie (ich denke).
Natürlich auf den Weg um es zu knacken, die "can-I-use-it" - test, so dass es immer true zurück.
Einem fiesen trick ist die Verwendung der byte-Werte der opcodes, dass der test irgendwo im Programm in einer schmutzigen Art und Weise, dass machen werde, das Programm zum Absturz mit hoher Wahrscheinlichkeit, es sei denn, der Wert ist genau richtig. Es macht Sie im Zusammenhang mit einer bestimmten Architektur, obwohl 🙁
Oh. Ich hatte C tricks im Hinterkopf, sagen, nehmen Sie sich die Adresse von die Validierung Funktion, summieren sich die 10 ersten bytes in das char-array (Besetzung der Funktion Zeiger); wählen Sie eine beliebige Funktion f, und speichern Sie [die Adresse von f minus der vorherigen Summe] in fptr. Rufen Sie immer f *(fptr + sum). Vorausberechnen ", dass die Summe"
InformationsquelleAutor
Nur eine gute Anwendungs-und code-eine einfache Schutz-system. Es spielt keine Rolle, welchen Schutz Sie sich auch entscheiden, es wird Umgekehrt sein... Also verschwende nicht zu viel Zeit/Geld.
InformationsquelleAutor
Es ist unmöglich, vollständig sicher ist eine Anwendung, sorry.
InformationsquelleAutor
Wann kommt es an .NET, wenn Sie die Freigabe einer Windows Forms Anwendung (oder jede Anwendung, bei der client-Dateien (Portable Executable-Datei), es kann geknackt werden.
Wenn Sie wollen stick mit .NET und möchten, minimieren Sie die chance, mit Ihren source-code genommen, dann möchten Sie vielleicht erwägen, es als eine ASP.NET - Anwendung über einen webserver, anstatt es eine Windows Forms-Anwendung.
InformationsquelleAutor
Ehrlich gesagt, manchmal müssen wir verschleiern den code (zum Beispiel register Lizenz-Klassen und so weiter). In diesem Fall, wird Ihr Projekt nicht frei. IMO, sollten Sie zahlen für ein gutes obfucator.
Dotfuscator verbirgt Ihren code und .NET Reflector zeigt eine Fehlermeldung, wenn Sie versuchen zu dekompilieren.
InformationsquelleAutor
Kann ich empfehlen Obfuscator.
InformationsquelleAutor