2012-01-03 98 views
3

我们正在将我们的VB6应用程序迁移到Net。 VB6代码使用一些第三方DLL,它们在工作之前需要通过许可密钥。这些密钥在VB6代码中被硬编码。现在,将此代码移植到Net上时,使用Reflector检索这些许可密钥变得非常容易。我明白,当您在代码中包含licencekeys时,真正的安全性是不可能的,但我怎样才能至少防止偶然的Reflector用户轻易地提取这些许可证密钥?如何在临时检查中隐藏许可证密钥

回答

1

使用混淆器可以混淆代码中的任何字符串。这将保护你免受使用.NET Reflector的随意检查。或者,您可以添加您自己的代码来获取许可证密钥,但是用于反向访问的代码无论如何都是可以查看的。

1

不幸的是,如果代码很容易被逆向设计,就没有多少选择。存储密钥的位置或存储方式并不重要,只要将它们传递给第三方DLL,它就会被公开。我的建议是将第三方DLL打包成一个自己的层,负责安全地检索和传递许可证密钥。