Welcher .NET-Obfuscator soll verwendet werden, um den Code jedes Mal mit denselben Ergebnissen zu verschleiern?

In meinem Programm ist es wichtig, dass verschleierte Namen nach jedem Build gleich sind, damit ich Unterschiede in Dateien für die minimale Upgrade-Größe finden kann, da Benutzer sonst alle DLLs auch für jedes kleine Upgrade erneut herunterladen müssen. Gibt es einen Obfuscator, der jede DLL jedes Mal mit dem gleichen Ergebnis verschleiert?

Ich bezweifle, dass dies der Fall ist, da dies für die Verschleierung etwas kontraproduktiv ist. Jemand, der einen Teil Ihrer DLL zurückentwickelt hat, kann einfach mit der nächsten Version fortfahren.
Verschleierung ist viel weniger nützlich als Sie denken und ist ein ziemlich spröder Prozess. Mein Vorschlag wäre, es zu vermeiden und die Zeit zu nutzen, um Ihr Produkt zu verbessern, anstatt den Obfuscator zu konfigurieren.
Ich habe diese Frage mehrmals gesehen und sie wurde für mich interessant. Haben Sie einen solchen Verschleierer gefunden? Soweit ich weiß, ändert Obfuscator normalerweise jedes Mal den Namen. Und jedes Mal sind sie anders.

Antworten (3)

Die Thicket C#- und VB.net-Obfuscators meines Unternehmens generieren neue zufällige Namen, wenn Sie alles auf einmal verschleiern. Wenn Sie inkrementell verschleiern, haben Sie keine Wahl, Sie müssen die Verschleierung bereits verschleierter Symbole beibehalten. Unsere Tools tun das.

Siehe Verschleierung von Semantic Designs .

Durch die Verwendung von Skater .NET Obfuscator können Sie alle DLLs Ihres Projekts verschleiern und sie dann zu einer einzigen DLL zusammenführen/kombinieren, die verteilt wird. Benutzer laden nur eine DLL für jedes kleine Upgrade herunter.

Ein weiterer Verschleierungsprogramm, das inkrementelle Verschleierung unterstützt, ist .NET Reactor . Auf diese Weise werden für Klassen und Member (Methode, Eigenschaften, Felder) immer die gleichen Namen generiert.