5

Silverlight コードがブラウザー内でどのように機能するのかよくわかりません。アセンブリはクライアント マシンにダウンロードされていますか? Reflector または同様のツールを使用してコードが逆コンパイルされる可能性はありますか? もしそうなら、コードを保護するためにどのようなオプションが必要ですか? .net 難読化ツールは Silverlight で動作しますか?

4

7 に答える 7

6

Web ブラウザーを使用しているときはいつでも、すべてのクライアント側コードがマシンにダウンロードされ、ユーザーが調べることができます。これは、Javascript、Flash、および Silverlight に当てはまります。

絶対に隠す必要がある独自のコードがある場合は、それをサーバーに配置し、クライアントがユーザーに情報を表示するために呼び出すことができる API を公開する必要があります。

于 2008-10-28T17:46:35.053 に答える
5

Silverlight アプリケーションを表示するには、クライアントは、dll と 1 つの構成 xml およびオプションのリソースを含む .xap ファイルをダウンロードします。dll には、クライアント マシンの Silverlight ランタイムで実行されるコンパイル済みの c# コードが含まれています。Silverlight ランタイムは基本的に、完全な .net ランタイムのサブセットです。したがって、ポイントは、ユーザーが dll でコードを取得し、ツールを使用して元のソース コードを取得できることです。したがって、できることはせいぜい難読化だけです。オプションではない非常に重要なコードの場合でも。必要性が叫ばれている場合は、他の方法 (WCF またはコードの一部を非表示にする他の Web サービス) を使用できます。

于 2008-10-30T06:38:41.907 に答える
2

Silverlightアプリでコードを確認するのがいかに簡単かを知りたい場合は、FirstFloorによるSilverlightSpyリンクテキストを実行するだけです。.NET Reflectorがインストールされている限り、xamlファイルを含むすべてのソースコードを(アプリを操作しながら)表示できます。

コードはクライアントにダウンロードされるため(プラグマを使用してコードを防止しようとしても、URLにヒットする可能性があるため、キャッシュは機能しません)、サーバー上に重要なロジックを保持してコードを保護する必要があります。

于 2008-10-29T00:25:49.710 に答える
2

誰かがあなたの知的財産を盗むことを恐れていて、その法律では不十分な場合は、コードを難読化する必要があります。しかし、私はその保護を一言で言うとは言いませんが、カジュアルなリバース エンジニアに対する抑止力とは言えません。

于 2008-10-29T18:53:28.787 に答える
1

エムラ、

はい、SL アプリケーションでは難読化が可能です。

于 2010-05-19T15:05:37.353 に答える
1

プラグマ -No Cache- を配置すると、.xap がマシンに保存されなくなり、代わりに Silverlight プラグインによってストリーミングされます。プラグマがない場合、.xap ファイルは一時インターネット ファイルに保存されます。

アプリケーションを https 上のページに配置すると、.xap の送信がさらに保護されます。

可能であれば、Web ページ / .xap ファイルを表示するために認証が必要です (thanks Joel)

于 2008-10-28T18:04:18.293 に答える
0

はい、Silverlight xap ファイルはアセンブリを含む zip ファイルに過ぎないため、難読化による保護が必要です。Crypto Obfuscatorを試してみてください。xapファイルを直接難読化します。また、クラス参照の名前を変更したり、コメント、空白、改行などを削除したりして、アセンブリ内の XAML ファイルを難読化することもできます。

于 2010-10-11T11:26:25.593 に答える