___ answer1288067 ___
So soll es funktionieren. Ihr Code ist immer noch zugänglich, nur schwieriger zu verstehen. Wenn Sie etwas "stärker" möchten, schauen Sie sich Xenocode PostBuild an.
___ qstnhdr ___ Wie funktioniert Dotfuscator?
___ antwort1288225 ___
Codeverschleierung geht weit über das einfache Umbenennen von Klassen, Membern und Variablen hinaus, obwohl das ein wichtiger Teil davon ist.
Zum Beispiel verwendet Dotfuscator eine patentierte Technik namens overload induction , bei der viele Methoden in denselben Namen umbenannt werden (dies ist möglich, solange sie unterschiedliche Signaturen haben) . PreEmptive Lösungen zitieren Fälle, in denen ein Drittel aller Methoden im Code in a () umbenannt wird. Andere Techniken beinhalten das Umschreiben einfacher Iterationen als Rekursion sowie Code-Morphing .
Tatsächlich sind moderne Verschleierungstechniken vollkommen ausreichend, um Code zumindest von Hand nahezu unmöglich rückentwickeln zu können. Es ist zwar richtig, dass .NET-Assemblies im Prinzip niemals RE-safe sein können, aber die Verschleierung kann eine ziemlich gewaltige Barriere darstellen.
Für die meisten von uns reicht das.
___ answer1288107 ___
Leider gibt es keine Möglichkeit zu verhindern, dass jemand Ihre Assembly reflektiert und sie auf Ihren Quellcode disassembliert. Verschleierungstools wie Dotfuscator werden es für jemanden wesentlich schwerer machen, den disassemblierten Code zu lesen, wo praktisch alle menschenlesbaren Namen durch bedeutungslose Symbole ersetzt werden können.
Wenn Sie Ihren Code irgendwo veröffentlichen, ist jemand in der Lage, ihn rückzuentwickeln, wenn er bestimmt genug ist. Das Beste, was Sie tun können, ist, dass es sich nicht lohnt, dies zu tun.
___ answer1288069 ___
Sie können eine De-Assemblierung in .net
nicht blockieren
___ answer1288101 ___
Wenn Sie Professional oder Gold Dotfuscator haben, können Sie das Reflector-Programm daran hindern, Ihre Assemblies zu öffnen.
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert.
___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden.
___ answer1288068 ___
Dotfuscator macht die dekompilierte Quelle einfach lesbarer - sie verhindert nicht die Dekompilierung selbst.
___ tag123obfuscation ___ Obfuscation ist der Prozess, bei dem der Code geändert wird, sodass es für einen Entwickler schwieriger ist, klar zu verstehen, was das beabsichtigte Programm tut oder wie es funktioniert. Je größer das Programm ist, desto größer ist die Verschleierung, da der Code ineinander übergeht und verschiedene Segmente durch das Programm verbindet.
___ tag123dotfuscator ___ Dotfuscator bietet Anwendungs-Selbstschutz und Verschleierung für jede Art von .NET-App durch eine Kombination aus binärer Verschleierung / Verhärtung, Erkennung, Abwehr und Alarmkontrolle. Eine Lite-Version (Dotfuscator CE) ist in Visual Studio enthalten.
___ answer1288193 ___
Die Version, die mit Visual Studio geliefert wird, ist begrenzt, und ich würde mich nicht darauf verlassen, dass sie zur vollständigen Verschleierung verwendet wird, wenn Sie etwas an Kundenstandorten bereitstellen müssen. Eine freie, die Sie vielleicht betrachten möchten, ist Eazfuscator.net .
___ qstntxt ___
Wie funktioniert Dotfuscator? Ich habe versucht, einige meiner Klassen zu verschleiern und die Methoden / Klasse in a, b, c etc. umbenannt. Aber ich kann den Code in diesen Methoden immer noch sehen? Ist es das, ich mache etwas falsch?
Gibt es etwas, das eine vollständige Blockierung meiner Assembly verhindern würde?
___