禁用 dotfuscator 中的重命名

发布于 2024-08-06 13:37:19 字数 115 浏览 2 评论 0原文

我使用 dotfuscator 来保护我的源代码,并禁用重命名(以保持公共方法和类名正确),但我注意到当我使用 Reflector 查看加密后的程序集时,它们并没有发生太大变化。我仍然可以看到源代码。 有什么信息吗?

I used dotfuscator to protect my source code and I disabled renaming(to keep public methods and class names correct) but I noticed when I used reflector to see the assemblies after encryption that they didn't changed a lot. I still can see the source code.
Any information?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

坐在坟头思考人生 2024-08-13 13:37:19

您可以使用 混淆属性。以房产为例:

[Obfuscation(Feature = "renaming", Exclude = true)]
public int MyProperty
{
    get { return this.prop; }
}

You can specify finely what will be excluded from the renaming phase by using a Obfuscation attribute. For example on a property:

[Obfuscation(Feature = "renaming", Exclude = true)]
public int MyProperty
{
    get { return this.prop; }
}
此刻的回忆 2024-08-13 13:37:19

如果禁用重命名,则意味着程序集中的任何符号(方法、类型等)都不会被重命名,这会降低混淆的大部分用处。

如果您只想保留可公开访问的方法的名称而不是禁用重命名,请打开 库模式对于要从重命名中排除其公共方法的每个程序集。

此外,自行重命名不会导致 Reflector 不显示反编译源。为了破解反编译,您需要确保也启用了控制流混淆。

If you disable renaming that means that none of the symbols (methods, types, etc) in your assembly will be renamed, that mitigates much of the usefulness of obfuscation.

If you just want to preserve the names of your publicly accessible methods instead of disabling renaming turn on library mode for each of the assemblies whose public methods you want to exclude from renaming.

In addition, renaming on its own will not cause Reflector to not show decompiled source. In order to break the decompilation you need to be sure to have Control Flow obfuscation enabled as well.

冷情妓 2024-08-13 13:37:19

dotfuscator 只会混淆您的代码,它不会完全隐藏它以防止窥探。

如果您确实想从 Reflector 中“隐藏”方法主体,我建议您使用 Clisecure。 Clisecure可以让逻辑体消失,同时保留所有方法名。

您可以选择混淆逻辑吗?你应该使用它;这会让你的逻辑更难理解。

dotfuscator only obfuscate your code, it doesn't hide it completely from prying eyes.

If you really want "hide" the method body from Reflector, I suggest you to use Clisecure. Clisecure can make the logic body disappear while maintaining all the method name.

Do you have an option to obfuscate the logic? You should use that; it will make your logic harder to understand.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文