如何解决如何将 .NET Core 3.1 或 .NET 5 程序集转换为自包含的二进制文件作为后期处理?
我将我的一些应用程序(.NET Core 3.1 和 .NET 5.0;我们谈论的是应用程序,而不是库)作为商业软件发布。因此,我通过(不仅)使用代码混淆器使破解者更难理解和修补我的许可逻辑。混淆器采用完全托管代码 .NET 程序集,并生成“受保护的”完全托管代码 .NET 程序集。混淆器无法处理由 dotnet publish --self-contained
(dotnet publish documentation) 生成的自包含二进制文件。
我想为各种目标(macOS、Linux、Windows)生成自包含的二进制文件,因为有些客户不想安装 .NET 运行时,但另一方面,当 .NET运行时是自包含二进制文件的一部分。
现在我想知道,是否有可能采用“受保护”但仍然完全托管的代码 .NET 程序集并将其转换为自包含的二进制文件。如果是这样,该怎么做?
我不想反编译受保护的程序集并重新编译它,但是当没有其他可用的解决方案时,我会记住这个选项。
当前工作流程:
- 编写源代码。
- 构建 .NET 程序集 (
dotnet build
)。 - 针对 .NET 程序集运行混淆器。
- 发布软件(作为完全托管的代码 .NET 程序集,需要在目标系统上安装 .NET 运行时)。
所需的工作流程:
- 编写源代码。
- 构建 .NET 程序集 (
dotnet build
)。 - 针对 .NET 程序集运行混淆器。
- 使受保护的 .NET 程序集成为自包含的二进制文件。
- 发布软件(作为自包含二进制文件,不需要 .NET 运行时,因为它本身已经包含它)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。