Frage

Ich verstehe nicht ganz, wie Silverlight-Code im Browser funktioniert. Sind die Baugruppen auf dem Client-Rechner heruntergeladen? Gibt es eine Chance des Codes dekompilierten immer mit Reflektor oder ein ähnliches Werkzeug? Wenn ja, welche Optionen muss man den Code schützen? .net obfuscators mit Silverlight arbeiten?

War es hilfreich?

Lösung

Um eine Silverlight-Anwendung sieht der Client eine XAP-Datei herunterladen, die die DLL und eine XML-Konfigurations und optionale Ressourcen enthalten. Die DLL enthält c # Code kompiliert, die in Client-Maschine in einer Silverlaufzeit läuft. Silverlight-Laufzeit ist im Grunde eine Teilmenge der vollständigen .net-Laufzeit. Der Punkt ist also Benutzer den Code in DLL wird und dann Tools verwenden kann ursprüngliche Quellcode zu erhalten. So höchstens Sie tun können, ist die Verschleierung. Noch für sehr kritischen Code, der die Option nicht sein sollte. Sie können eine andere Art und Weise verwenden (WCF oder anderen Webdiensten einen Teil des Codes verstecken können), wenn sie Ihre Notwendigkeit schreit.

Andere Tipps

Wenn Sie in einem Web-Browser sind, werden alle Client-Seite Code auf das Gerät heruntergeladen und kann vom Anwender geprüft werden. Dies gilt sowohl für Javascript, Flash und Silverlight.

Wenn Sie proprietäre Code haben, der absolut versteckt werden müssen, dann müssen Sie es auf dem Server gestellt und eine API verfügbar machen, die die Clients aufrufen können Informationen an den Benutzer zu zeigen.

Wenn Sie nur sehen wollen, wie einfach es auf dem Code in einer Silverlight-Anwendung zu suchen ist einfach laufen SilverlightSpy link text von Firstfloor . Solange Sie waren .NET Reflector installiert Sie in der Lage sein zu sehen (wie Sie interagieren mit der app) alle Quellcode einschließlich der xAML-Dateien.

Da der Code nicht an den Client heruntergeladen bekommen (und sogar versuchen, es zu verhindern, dass Pragma no-cache wird nicht funktionieren, da sie die URL treffen können) müssen Sie Ihren Code zu schützen, indem wichtige Logik auf dem Server zu halten.

Wenn Sie Ihre Angst, jemand Ihr geistiges Eigentum stehlen und das Gesetz nicht genug ist, dann müssen Sie Ihren Code verschleiern. Aber ich würde diesen Schutz pro sagen nicht nennen, aber eine abschreckende Wirkung auf die lässige Reverse Engineering.

Setzen eines Pragma -Nr cache- die XAP verhindern, dass auf dem Computer gespeichert werden, stattdessen wird sie von der Silverlight-Plugin gestreamt werden. Ohne die Pragma wird die XAP-Datei im temporären Internet-Dateien gespeichert werden.

Setzen Sie die Anwendung auf einer Seite auf https weiter die transmition der XAP-Schutz

Wenn möglich, erfordern eine Authentifizierung der Web-Seite / XAP-Datei (Dank Joel)

anzuzeigen

Emrah,

Ja Verschleierung ist möglich, SL-Anwendung.

Ja, Silverlight XAP-Dateien sind nichts anderes als ZIP-Dateien mit Ihren Baugruppen in ihnen, so dass sie Schutz durch Verschleierung benötigen. Geben Sie Crypto Obfuscator einen Versuch - es verschleiert direkt XAP-Dateien, kann es auch XAML verschleiern in Ihrer Baugruppen Dateien nach Klassenreferenzen Umbenennen, Strippen Kommentare, Leerzeichen, Zeilenumbrüche usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top