2

これは、一般的な .Net アプリケーションの保護/難読化に関する SO の既存の質問のバリエーションです。

保護したいいくつかのアルゴリズムを含む API を C# で開発しています。完璧な方法はないことは理解していますが、これを行うための一般的に受け入れられている方法は何ですか?

クライアントが API に対してコーディングできるようにしたいのですが、内部にあるものをリバース エンジニアリングすることは望んでいません (少なくとも、クライアントにとって簡単にしたくはありません)。

コードを難読化すると、API も難読化されませんか?

私たちは smartAssembly を検討しています。製品に関するご意見やご感想をお待ちしております。

4

4 に答える 4

2

難読化します。難読化ツールは、公開 API に依存する外部コードを破壊するため、公開 API を難読化しません。

于 2010-03-17T15:00:03.640 に答える
2

これはオプションではないかもしれませんが、アルゴリズムを配布しないことでアルゴリズムを保護することを検討してください。Web サービス、.asmx、または WCF を介して処理を提供できますか?

私の知る限り、コードを完全に保護する方法はありませんが、難読化と暗号化により、リバース エンジニアリングが必要以上に難しくなる可能性があります。

于 2010-03-17T14:58:51.963 に答える
1

優れたコードの難読化ツールは、難読化しないように例外のリストを取得します。一般的には、実装の詳細のみを難読化し、パブリック API (クラス、プロパティなど) には触れないように切り替えます。したがって、適切にコーディングした場合 (ファサードは公開、すべての実装の詳細は非公開)、適切に機能するはずです。

于 2010-03-17T14:58:03.993 に答える
1

あなたはsmartAssemblyに言及しました。DotnetreactorDotfuscator、およびオープン ソースの難読化ツールであるSharpobfuscatorもあります。

于 2010-03-17T15:03:47.517 に答える