0

いくつかのアプリケーションで使用される共有 .Net DLL と、公開されている API があります。API DLL を配布する予定ですが、リンクのために共有 DLL も配布する必要があります。

不要なクラスとデータが使用されないようにするための最良のオプションは何ですか?

API で使用されていない共有 dll 内のすべてを internal として宣言しますか?

API と他のプロジェクトの間のすべての共有アイテムを含む新しい DLL を作成しますか?

編集:すべてのものは C# で作成されています。また、ユーザーに使いやすい API を提供することにも主に関心があります。私が何をしても、ユーザーはいつでもリフレクターを使用してそれを見ることができると私は理解しています。

4

2 に答える 2

2

使用する言語については言及していません。それが管理されたアセンブリである場合、あなたが求めているものよりもはるかに多くのものがあります。

コードを内部メソッドまたはプライベートの背後に隠そうとするだけで、コードはいつでも逆コンパイルできます。ですから、それはあなたが最初に取り組まなければならないことの1つです。逆コンパイルされるものが理解できないように、そのコードを難読化する必要があります。

dllをロックダウンすることはできますが、それを実現するのは非常に困難であり、実装の程度によっては、まったく役に立たない場合があります。

RedGateが購入する前にこの製品を使用しましたが、それはすごかったです。それは、ウェブ上のランダムな投稿から一緒に選別された私のコードからズボンを打ち負かしました。しかし、それはあなたが使いたいと思うものかもしれません。

http://www.red-gate.com/products/dotnet-development/smartassembly/

于 2011-02-16T18:08:56.780 に答える
0

セキュリティメカニズムの決定は、リソースの重要性に基づいています。通常、メソッドの安全性が高いという理由だけで、パフォーマンスパネルが多くなります。

于 2011-02-16T18:05:24.420 に答える