-3

我正在Visual Studio中开发一个WPF解决方案,在上述解决方案中有两个项目,一个(客户端是主要的WPF应用程序,另一个(dllproject)是一个简单的项目,它在构建时生成一个使用的dll在我的主要客户里面。

我将我的dllproject添加为我的client中的引用,并通过 using 语句引用它。

using dllproject;
using System.Windows;

现在的问题是,我需要保护软件免受逆向工程,因为 dll 包含机密算法等等......最好的方法是什么?

显然,我不能只加密我的 dll 并希望它仍然可用。实际上,我正在使用themida 保护软件。

4

1 回答 1

2

没有万无一失的方法可以保护分发的任何代码不被反编译。

您应该始终假设您公开公开的任何代码都可以被反编译和反向工程,无论您进行了任何混淆尝试。

机密算法和其他业务关键的东西应该留在您的公司防火墙或受信任的云服务中,即您应该将任何此类机密从客户端移动到服务器端,并且不要将其与您的应用程序一起分发。

于 2021-04-15T13:30:00.863 回答