我们正在开发桌面应用程序,我们使用Wix工具集创建.msi安装程序。
我们使用".Net Reactor"来混淆和保护C#代码。但是,我们也有几个自定义动作(在.msi中)也要保护。
所以问题是我们是否需要担心保护它们,如果是的话,保护它们的最佳方法是什么?我们是否需要混淆“自定义操作”项目所依赖的所有dll?
答案 0 :(得分:0)
没有敏感性,没有问题 :我仅次于 Klaus 所说: 此代码是否包含敏感内容?< / em> 通常,敏感方面会围绕您想要保护的某种类型的许可或密钥。确保编译发布模式的二进制文件(如果不是,请注意-在常规计算机上也无法满足运行时要求)。
保护敏感信息 :我前段时间写了一个完整的清单,内容涉及避免使用部署解决方案分发敏感信息:How do I avoid distributing sensitive information in my MSI by accident? (在您撰写本文时,那些泛滥的答案之一-仍然值得一看)。
本机代码 :如果您对敏感度有主要关注,我将编译一个C ++自定义操作而不是托管代码自定义操作,以使事情变得更加“ 直到金属”。这对于确保最小的运行时依赖项(静态链接)也非常有用。
开源 :坦率地说,如果不存在任何敏感性,我会考虑开放我的整个安装代码。用户是否有可以自行调试的问题-尽管在许多情况下,这样做的好处可能是无足轻重的。您可以关闭需要敏感性的单个自定义操作的源。我会使用开源作为销售参数-是的,您可以看到我们的设置源以根据需要调整您的环境。
设置就像简历:它只是作为传递其他有价值的工具的地方吗?它本身没有任何价值。您想首先出售软件吗?当然还有安全性。允许用户从您的源编译自己的设置也可能导致问题-当然。您是否要支持自编译设置?