Wie funktioniert Dotfuscator?

7

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?

    
Bhaskar 17.08.2009, 13:49
quelle

7 Antworten

7

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.

    
Jon Tackabury 17.08.2009, 13:51
quelle
13
___ 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?

    
___
Tor Haugen 17.08.2009 14:24
quelle
4

Sie können eine De-Assemblierung in .net

nicht blockieren
Fredou 17.08.2009 13:51
quelle
2

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.

    
Paul Turner 17.08.2009 13:59
quelle
2

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 .

    
Mike 17.08.2009 14:18
quelle
1

Dotfuscator macht die dekompilierte Quelle einfach lesbarer - sie verhindert nicht die Dekompilierung selbst.

    
Andrew Hare 17.08.2009 13:51
quelle
1

Wenn Sie Professional oder Gold Dotfuscator haben, können Sie das Reflector-Programm daran hindern, Ihre Assemblies zu öffnen.

    
Wael Dalloul 17.08.2009 13:58
quelle

Tags und Links