我有 ASP.Net Core 1.0.1 项目,我需要在其中隐藏一些字符串。字符串是私有静态字段。Obfuscar 2.2.3 旨在默认隐藏字符串,但事实并非如此。我还使用显式值尝试了此配置:
<Var name="HideStrings" value="true" />
<ForceStringHiding type="MyNamespase" />
但是通过 dotPeek 仍然可以看到字符串。
也许我误解了什么?我怎样才能隐藏我的字符串?
我有 ASP.Net Core 1.0.1 项目,我需要在其中隐藏一些字符串。字符串是私有静态字段。Obfuscar 2.2.3 旨在默认隐藏字符串,但事实并非如此。我还使用显式值尝试了此配置:
<Var name="HideStrings" value="true" />
<ForceStringHiding type="MyNamespase" />
但是通过 dotPeek 仍然可以看到字符串。
也许我误解了什么?我怎样才能隐藏我的字符串?
当您的应用程序需要能够将其“解密”为原始内容时,您无法“可靠地隐藏”“应用程序/库内部”的任何内容。
您发明的任何“秘密算法”都是无用的,因为“解密”它所需的所有内容都包含在应用程序中(否则您的应用程序本身将无法“解密”),因此任何有权访问您的应用程序 exe/dll 的坏人可以“重复”这个步骤并“解密”隐藏的值。
如果您“信任”您的应用程序正在运行的服务器/机器,并且希望仅向可以从某个中间源“复制”您的应用程序的人“隐藏”某些字符串(例如,从 github repo 下载您的 zip 分发),那么您应该使用UserSecrets库或类似库。
如果您不“信任”您的应用程序正在运行的服务器 - 您应该更改服务器/提供程序。