问题描述
我将我的一些应用程序(.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 运行时,因为它本身已经包含它)。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)