2014-07-04 13 views
5

Ich bin mir bewusst, dass dies eine bizarre Anfrage ist, aber ich muss rohen C# Quellcode verschleiern.Quellcode-Verschleierung

Obwohl es eine schlechte Idee ist, würde der C# -Code clientseitig über einen CSharpCodeProvider kompiliert werden. Gibt es eine vorhandene Klasse in C#, um Quellcode zu verschleiern? Gibt es alternativ dazu eine Drittanbieter-Bibliothek?

Ich habe über die Verwendung von Roslyn und die manuelle Variablenumbenennung nachgedacht, aber ich kann keine Informationen darüber finden, wie das geht. Kann jemand Variablen mit Roslyn umbenennen (und eine Lösung laden)?

Ich habe einen manuellen Syntax Parser versucht, der nicht gut ging.

Was ich bisher getan:

alle Kommentare entfernt.

Alle Zeilenumbrüche und Leerzeichen wurden entfernt.

Legen Sie alle Dateien aus den verschiedenen Projekten in einen Ordner mit zufälligen 25-stelligen alphanumerischen Namen.

Hinzugefügt zufällige Kommentare Mitte Codezeile. Nicht aufhören jemanden, aber gibt mir Kopfschmerzen zu lesen public /*SJKDSJKDJ398sLAjljKKxklw*/int /*SDSDSJCJKIORIO*/ privateServerKey = /*SDKSDKSDFKJSFKJ*/ ...

+0

Auschecken http://msdn.microsoft.com/en-us/library/system.reflection.obfuscationattribute(v=vs.110).aspx – Prescott

+0

Etwas bessere Erklärung: Der tatsächliche C# Quellcode muss verschleiert werden, nicht die Ausgabebaugruppe. –

+0

hast du versucht Google? da gibt es schon einige Antworten da draußen – user3036342

Antwort

3

Bizzare? Nein. Manchmal muss man einen kompilierbaren Quellcode an einen Dritten senden, ohne dass der Dritte den Quellcode leicht verstehen kann. Wir sind uns einig, dass Verschleierungen es nicht unmöglich machen, Code zu verstehen, aber das ist nicht der Punkt. Dein Haustürschloss wird keine ernsthaften Diebe aufhalten, aber du wärst ein Idiot, wenn du ein Haus hast.

Unsere C# Source Code Obfuscator macht wahrscheinlich, was Sie wollen.

Meistens ist es das Verschlüsseln der Kennzeichnungen auf eine sichere Art und Weise. Je größer die Codebasis, desto effektiver ist dies.

Es entfernt auch Leerzeichen und Kommentare, um die Lesbarkeit zu beschädigen. Es werden keine Code-Dateien zwischen verschiedenen Verzeichnissen gemischt.