.net-core - .NET Core 单一发布文件混淆器

标签 .net-core obfuscation .net-core-publishsinglefile

是否有混淆工具可以很好地处理由 dotnet 核心单个文件发布生成的 exepdb 文件?

我使用 dotnet core 单文件发布命令:dotnet publish -r win-x64 -c Release/p:PublishSingleFile=true。这非常有效,只给我两个整洁的文件,一个 exe 和一个 pdb 文件,我可以将它们提供给客户来运行我的应用程序。

不过,我还是担心它被反编译的能力。

我尝试对这两个文件使用 ILSpy 和 JustCompile,幸运的是它们无法用这些工具反编译。那么我的文件是安全的,还是工具还没有跟上?

如果是后者,我可以使用什么混淆工具来保护这些文件?我试图使用 Obfuscar它不适用于单个文件发布输出,exepdb

对于为此使用的混淆工具有什么建议吗?

最佳答案

披露:我在 PreEmptive 的 Dotfuscator 团队工作。

我们已经测试并验证 Dotfuscator Professional 在 .NET Core 3 和 .NET 5 上都能处理这种情况。 具体来说,您必须使用 Dotfuscator Professional 的 MSBuild 集成,现在是我们的 recommended method of using Dotfuscator Professional for new projects .但是,Dotfuscator 不会更新 .NET Core 或 .NET 5 上的 .pdb 文件,因此您将无法调试使用 Dotfuscator 的构建(例如,Release 构建) .您不应将 .pdb 文件发送给不受信任的用户。

关于.net-core - .NET Core 单一发布文件混淆器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61896420/

相关文章:

flutter - 如何从 flutter 的 Dart 混淆中排除文件,类,库或包?

.net-core - .NET 5 未编译为单个文件可执行文件

.net - EF Core 添加迁移构建失败

c# - DLLImport 不适用于 Azure 应用服务网络。 3.1

java - 使用 proguard 仅删除日志语句

javascript - 有助于查找混淆的 JavaScript 的关键字符

c# - 从已发布的单个 Exe 本地运行的 PowerShell 失败(没有 IncludeAllContentForSelfExtract)

c# - 使用带有外部 Azure KeyVault (HSM) key 的 BouncyCaSTLe 创建证书时签名无效

c# - 已安装的 .NET 6.0 SDK 未通过 dotnet --info 或 dotnet --list-sdks 显示,并且取决于 SDK 的命令失败 (Linux/Ubuntu)