如何隐藏临时检查中的许可证密钥

时间:2012-01-03 23:14:35

标签: .net encryption

我们目前正在将VB6应用程序迁移到Net。 VB6代码使用了一些需要在它们工作之前传递licencekey的第三方dll。这些密钥在VB6代码中是硬编码的。现在,在将此代码移植到Net时,使用Reflector可以轻松地检索这些许可密钥。我知道,当你在代码中包含licencekeys时,真的很好的安全性是不可能的,但我怎么能至少阻止随意的Reflector用户毫不费力地提取这些许可证呢?

2 个答案:

答案 0 :(得分:1)

不幸的是,如果代码很容易像这样进行逆向工程,那么你没有很多选择。存储密钥的位置或存储方式无关紧要,只要将它们传递给第三方DLL,它就会暴露出来。我的建议是用您自己的图层包装第三方DLL,该图层负责安全地检索和传递许可证密钥。

答案 1 :(得分:1)

使用能够混淆代码中任何字符串的混淆器。这将保护您免受使用.NET Reflector的随意检查。或者,您可以添加自己的代码以获取许可证密钥,但是用于反向扫描它的代码仍然可以进行检查。