5

私はDotfuscator(CE)を使用してASP.NETMVC.ddlを保護しようとしています。これはクライアントに配布されるWebアプリケーションであり、IPを保護する方法が必要です。

問題は、完了するとアプリケーションが壊れているように見えることです。これまでのところ、Controllers名前空間の名前変更を無効にしただけですが、null参照例外が発生します。

DotfuscatorをASP.NETMVCDLLで動作させる人はいますか?Googleは可能なブログ投稿や情報を提供していません。

ありがとう。

その他の情報:

Visual Studio 2008 Professional、

Windows Vista Business x64、

Dotfuscatorを登録しましたが、アップグレードされたCEエディションのダウンロードリンクが記載された電子メールがありませんでした。

または、適切に機能する比較的安価なツールを誰かが提案できますか?

4

2 に答える 2

9

ASP.NET MVCはリフレクションに大きく依存しているため、これは機能しないと思います。

SmartAssemblyとその制御フロー難読化オプションを使用してASP.NETMVCアプリケーションを難読化することに成功しました。これはクラスメンバーの名前を変更しませんが、代わりにメソッドのコードをスパゲッティコードに変更します。

于 2009-10-13T10:37:50.263 に答える
7

そのASPは本当です。NET MVCはリフレクションに大きく依存しているため、リフレクトされるタイプやプロパティをわかりにくくすることはできません。ただし、とにかくこのようなもののほとんどを難読化する必要はないと私は主張します。コントローラ名とアクション名はURIに表示されるため、すでに公開されています。プレゼンテーションモデルも基本的に公開されています。これは、ビューのように設計する必要があり、エンドユーザーがビューを表示できるためです。

コントローラは非常に軽量で、リポジトリからプレゼンテーションモデルにオブジェクトをバインドするだけで済みます。したがって、ここに隠す知的財産はほとんどありません。

実際に難読化したいコードは、おそらくビジネスロジックであり、別のアセンブリに非常に簡単に配置できます。だから私の提案は、難読化の後に難読化を試して、うまくいくように見えるものを見つけようとするのではなく(見逃したが、ユーザーが後で見つけたバグを除いて)、代わりに難読化するのに重要なコードをパーティション化することですそして彼は反射にそれほど依存していません。

于 2009-10-13T13:05:57.983 に答える