2016-12-15 9 views
1

私はいくつかの文字列を隠しておく必要があるASP.Net Core 1.0.1プロジェクトを持っています。文字列はプライベート静的フィールドです。 Obfuscar 2.2.3は、デフォルトで文字列を隠すことを意図していますが、そうではありません。私はまた明示的な値でこの設定を試みました:.netコアプロジェクトの文字列を隠す

<Var name="HideStrings" value="true" /> 
<ForceStringHiding type="MyNamespase" /> 

しかし、文字列はまだdotPeekを介して表示されます。

多分私は何かを誤解しましたか?どのように私の弦を隠すことができますか?

+0

2.2.3リリースでは文字列隠蔽が完全に無効になっています。https://github.com/lextm/obfuscar/commit/f364a38d511e9b77fd875dee5acb54e57cbe1c45以下の答えで示されるように、プロセスは元に戻すことができるので、秘密情報を隠すことは絶対にしないでください。機密データを保存するには、他のWindows/OSの仕組みに頼るべきです。 –

答えて

3

あなたのアプリが「元に戻す」ことができる必要がある間に、アプリ/ライブラリ内の何かを「確実に隠す」ことはできません。

あなたが発明した「秘密のアルゴリズム」は、それを「解読」するために必要なものがすべてアプリ内に含まれているので役に立たない(そうでなければあなたのアプリ自体は解読できない)アプリexe/dllは、この手順を「繰り返す」ことができ、隠し値を「解読」することができます。

あなたのアプリが動作しているサーバー/マシンを「信頼」して、あなたのアプリケーションを何らかの中間ソースから「コピー」できる人からの文字列だけを「隠す」(例えば、githubリポジトリからzipディストリビューションをダウンロードする) UserSecretsライブラリなどを使用してください。

アプリが実行されているサーバーを「信頼する」でない場合は、サーバー/プロバイダを変更する必要があります。

関連する問題