次のシナリオが
あります。
クライアント コンピューターでアセンブリを動的にコンパイルする必要があるため、現在、そのアセンブリのソースをプライマリ実行可能ファイルと共に展開し、MSBuild を使用してソースをアセンブリに動的にコンパイルしています。
ソースをアプリケーションと一緒に公然と配布したくないので、暗号化されたソース ファイルを出荷し、ビルドする前にクライアント マシンで復号化することを考えています。しかし、ここでも、ポイントを復号化した後に誰でも実行を停止することができ、ソースはコンパイルされてソースが削除される前に暗号化されていません。
ソースを保護し、同時にクライアントの場所でコンパイルする方法はありますか?
PS: ソース コードの盗難について心配するのはやめた方がよいことはわかっていますが、スクリプト キディーが簡単に入手できるようにしたくありません。
編集:おそらく、ソースコードを難読化されたコード(難読化されたアセンブリではない)に変換する難読化ツールが必要です。次に、この難読化されたコードをアプリケーションと共に出荷し、その場でコンパイルできます。
2 に答える
1
難読化( Obfuscation in .NET )を利用することができます。これにより、基本的に人間の読者がコードを理解するのが難しくなります。
それでも問題が解決しない場合は、ロジックを Web サービスとして作成し、ソリューション全体ではなく API を公開することを検討してください。そうは言っても、Web サービスを使用するクライアント アプリケーションを作成する必要があるため、これはおそらくより多くの作業になるでしょう。
編集: あなたのコメントによると、難読化プロセスを呼び出すことによってどのように自動化できるかを示すこのMSDN ページをご覧になることをお勧めしますDotfuscator
。これは IDE に無料で同梱されます。私の場合、次の場所に MSI ファイルがあります (最初にインストールする必要があると思います)。{VS2010 ISO}\WCU\Dotfuscator\DotfuscatorCE.msi
于 2014-01-30T06:26:46.980 に答える