10

私は Silverlight にかなり慣れていませんが、本当にクールだと思います。クライアント側でコードを実行する方法について質問があります..

たとえば、ユーザーが入力した金額に基づいて特定の金額を計算するサイトがあるとします。もちろん、これはクライアント側でやりたいです。ただし、問題は、計算に使用される式が独自のものであり、企業秘密であることです。この数式を SL を使用してクライアント側に配置すると、安全になりますか? それとも反映できますか?

4

9 に答える 9

14

アルゴリズムを秘密にしたい場合は、クライアント側にプッシュしないでください。どんな形式の難読化や保護も完璧ではありません。

また、クライアント側で計算を行っている場合は、結果が正しいと仮定するのではなく、常にサーバーで結果を確認する必要があります。クライアントが侵害されたとします。

于 2009-01-16T13:09:22.247 に答える
3

SilverlightはXAPファイルをクライアントにプッシュします。XAPファイルは、.NETアセンブリを含む単なるzipファイルであり、解凍して反映することができます。私が働いている会社(PreEmptive Solutions)は、Silverlightアセンブリを難読化できるDotfuscatorを販売しています。現在、xapを解凍し、難読化して元に戻す必要がありますが、ワークフローの改善に取り組んでいます。

于 2009-02-16T18:52:38.323 に答える
2

Dotfuscator ユーザーへの注意: Dotfuscator プロジェクトを作成する場合は、[設定] タブの [ユーザー定義アセンブリ ロード パス] プロパティを使用して、Silverlight ライブラリを参照する必要があります。必要なパスは次のとおりです。

  1. \Program Files\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies
  2. \Program Files\Microsoft SDKs\Silverlight\v2.0\Libraries\Client

    または 64 ビット オペレーティング システムの場合:

  3. \Program Files (x86)\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies

  4. \Program Files (x86)\Microsoft SDKs\Silverlight\v2.0\Libraries\Client
于 2009-02-28T09:05:22.160 に答える
1

私はマーカスに完全に同意しなければなりません。難読化された .NET アセンブリであっても、優れたプログラマーにとっては読みやすいものです。

私の解決策は、計算のための WCF サービスです。そこにすべてのデータをプッシュして、答えを出すだけです。あなたの式が極秘で明白でない場合 (a x+b y+c*z のように)、誰かがサービスにアクセスできたとしても、彼がそれを取得するのは難しいでしょう。

于 2009-02-28T14:01:25.007 に答える
1

もう 1 つのクールなツールは CodeFort です。無料版があります。http://www.codefor.orgで実際の動作を確認してください。

CodeFort .NET & Silverlight 難読化ツール

CodeFort は、Microsoft .NET および Silverlight アプリケーション用の高度な難読化ツールおよび保護ツールです。

BAML および XAML 難読化ツール - コードを 100% 難読化します

CodeFort は、Silverlight および WPF アプリケーションで使用される XAML および BAML コード内の識別子を難読化できる最初のツールです。これにより、コードの 100% を難読化することが初めて可能になります。

攻撃者に対する強力な保護

XAML/BAML の難読化を参照スクランブリングや改ざん防止 CodeFort などの強力な保護機能と組み合わせた、最先端の難読化ツールです。

于 2010-06-25T01:02:35.533 に答える
1

IntelliLock と .NET Reactor (私のお気に入りのツール) は、アセンブリを適切に難読化します。

于 2009-11-03T18:59:57.743 に答える
1

アルゴリズムを隠すことで保護されるという考えの罠に陥らないでください。一度ウェブに載せたら、あなたが何をしても誰かがそれを理解するでしょう。十分なサンプル データがあれば、数学のスキルがあれば誰でもアルゴリズムを理解できるはずです。

あなたができることは、それを難し​​くすることだけです。このアルゴリズムが購入した独自のものである場合は、サーバー側である必要があります。アルゴリズムをクライアント側に配置することは、本質的にそれを公開することであり、責任を負う可能性があります。

于 2009-02-28T14:33:42.370 に答える
1

難読化は絶対確実な方法ではありませんが、誰かがコードを見ることをはるかに困難にします。難読化のレイヤーが適切である場合、最終的なコードにたどり着くには、複雑なフープを実際にジャンプする必要があります。Crypto Obfuscatorは、Silverlight アセンブリの難読化をサポートする難読化ツールの 1 つです。

于 2009-11-05T09:55:13.443 に答える
0

難読化されたSilverlight2.0アプリケーションをサポートする多くの企業があります。DeepSea Obfuscatorはうまく統合されたエクスペリエンスを備えており、Dotfuscatorも機能します。まもなく、無料のEazfuscatorもそれをサポートします。

于 2009-04-03T13:55:36.790 に答える