Frage

Ich frage mich, jede effiziente Art und Weise unseren Silverlight-Code zu verbergen. Ich weiß, es gibt einige obfuscators zur Verfügung, aber es sieht aus wie Menschen, die hacken. Jedes hat keinen Erfolg an dieser Front?

War es hilfreich?

Lösung

Pragma No-Cache auf der Seite die Silverlight-Anwendung hostet, die den Browser Caching den xap verhindern, stattdessen wird sie es liest vom Web-Server per Streaming. Das wird es schwieriger für lugt die xap zu bekommen. Obfuscation wird es noch schwerer machen.

Auch stellen sicher, dass die App in https gehostet wird, hat die Authentifizierung außerhalb der Hauptanwendung nehmen. Auf diese Weise des XAP-Stream auf dem Weg nach unten codiert wird.

Andere Tipps

Sie können wirklich nichts verbergen, die an den Client übertragen wird. Wenn die Leute wollen, um es herauszufinden, sie werden.

Sie müssen in Ihrem Backend-beliebigen proprietären Code setzen, wo Client-Rechner es nicht erreichen kann.

Nein. Der Client-Browser in der Lage sein, um den Code zu lesen, daher ist es hackable.

Hier ist ein kurzer Artikel, wie eine XAP-Datei zu verschleiern

http://www.rudigrobler.net/Blog/obfuscating-silverlight

durch das Herunterladen verschleierte Fragmente Ihrer Anwendung während der Ausführung unter Verwendung von MEF zum Beispiel

Sie könnten den potentiellen Hacker Job erschweren. Unnötig zu sagen, dass es interessant ist, wenn Ihre Anwendung ist groß genug, so dass dieser astuce eher die Startzeit beschleunigen, als die Erfahrung des Benutzers zu behindern.

Es wird kein valorous Hacker davon ab, Ihren Code zu verhindern (in der Hand kein Verfahren, um dies zu verhindern, da die Silverlight-Plugin Lage sein muss, um es auszuführen), aber der astuce wird seine Aufgabe erheblich erschweren.

verhindert, dass der Browser die XAP von Caching ist nutzlos, wie HTTPS verwenden, da es viel einfacher ist für die Angreifer etwas zu verwenden, wie Firebug komplizierte die XAP zu bekommen als im Browser-Cache, es zu suchen oder mit einem Mann in der Mitte Angriff.

Ich stelle mir vor, dass, wenn Sie hatte viel Motivation, könnten Sie:

  • verschleiern alle Baugruppen
  • verwenden dynamisch belasteten XAPs
  • verschlüsselt den dynamisch belasteten XAP server und entschlüsselt Client-Seite mit einem dynamicly Schlüssel von einem Webservice gesendet erzeugt (nicht in der gleichen Anfrage. Und den Schlüssel nicht wiederverwenden.)

Es wird nicht der Angreifer verhindern, dass der Code bekommen, aber er muss Ihre erste (verschleiert) xap analysieren den Entschlüsselungscode zu verstehen, den Schlüssel erhalten, erhalten die verschlüsselte (verschleierten auch) dynamisch belasteten XAP, entschlüsseln , dann schafft es zu -Tools aufheben dann verstehen, wie es Stecker selbst in der Anwendung. Es ist nicht die gleiche wie HTTPS verwenden, da hier der Ver- und Entschlüsselungsprozess in der Anwendung durchgeführt wird, so dass Tools wie Firebug oder Fiedler unbrauchbar werden.

Hem. Nichts kann jemanden aus der Lektüre Ihren Code verhindern. Aber man kann es seine Zeit nicht wert machen. Sie haben hier nicht alle Ideen zu verwenden, und ich bin sicher, dass Sie andere finden können, aber stellen Sie sicher, dass die Umsetzung solcher Maßnahmen zu Ihre Zeit wert sind.

So oder so, es war ziemlich lustig zu schreiben: p

Sie können nicht (zumindest nicht nicht-triviale) XAP-Dateien verstecken. Aber man kann sich verschleiern. Verschleierung ist keine definitive Antwort, aber es ist ein Anfang und kann ziemlich guten Schutz geben.

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