【发布时间】:2011-05-30 18:32:42
【问题描述】:
首先,我知道几乎所有的应用程序都可以被破解(尤其是用C#编写的)。我的问题是让它更难破解。
假设用户已将 License 文件保存在 Application.StartupPath 下,所有用户均可读取。
然后,应用程序每次启动时,都会检查是否可以找到并验证许可证文件。
如果应用程序可以找到并验证,我们让用户继续使用全部功能。
如果没有,我们会提示一个消息框,显示“未经许可,继续使用试用版,功能有限。”
我的问题是,如果我是黑客/破解者,我会尝试绕过或绕过许可检查,而不是破解许可证文件,因为如果我们使用 RSA 签名,则很难破解许可证文件.
那么我们应该把许可证检查放在哪里?
P.S.:另外,如果我放置一个全局变量 IsLicensed (true / false) 来限制功能是否安全?黑客更改 IsLicensed = true 容易吗?
【问题讨论】: