- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对,我说的是桌面应用程序中的许可证验证代码,例如一种方法bool ValidateLicense(string licenseCode)
.当然,任何保护方案都可以由熟练且坚定的破解者进行逆向工程。但是,我想防止任何具有一些基本编程知识的人都可以在几分钟内使用 Reflector 构建一个注册机。
可能的方法
最佳答案
Eazfuscator让您仅在 Release 中混淆您的代码,我们使用它不会感到任何性能问题。它也可以让您混淆选定的方法。请注意,公共(public)方法不能被混淆。
像您的 ValidateLicense 这样的任何功能都可以通过一个好的反射器轻松修改,在第一行插入一个 return true :( 我向您推荐这篇关于程序集中代码注入(inject)的文章:http://www.codeproject.com/Articles/20565/Assembly-Manipulation-and-C-VB-NET-Code-Injection
您应该对您的程序集进行签名以避免修改,但是... 也可以使用适当的工具删除签名:http://www.nirsoft.net/dot_net_tools/strong_name_remove.html
抱歉,在 .Net 中没有任何技巧可以避免逆向工程,你只能让事情变得更难。 (例如,不要命名你的函数 ValidateLicense 并使你的验证逻辑有点神秘)
关于.net - 如何保持 .NET 程序逻辑(合理地)保密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11555308/
我有一个曾经是 TreeView 控件的菜单,但现在我想让每个项目更加直观,并向树中的每个对象添加更多信息。 我的第一个意图是制作一个代表项目的用户控件,并在运行时将它们添加到面板中。这是一个好方法吗
我是 Docker 新手,想知道是否有可能(并且是一个好主意)在 Docker 容器中进行开发。我的意思是创建一个容器,执行 bash,安装和配置我需要的一切,然后开始在容器内进行开发。 容器将成为我
在 Java 中: Parent obj = new Child(); 我创建了一个 Parent 类型的对象。我假设我只能调用父类中定义的方法。因此,我无法调用 Child 中定义的“附加”方法或访
注意:我省略了其他两个阶段(V 和 W)的代码,示例中不需要。 我很确定,我这样处理“开”和“关”时间的方式并不是一种有效的方式。 我想使用查找表实现“开”和“关”脉动。计时器应与表的当前选定值进行比
当代码中包含 Java instanceof 运算符时,许多人会扬起眉毛并说这是禁忌。例如,在这个 other SO Q&A ,答案说: Note that if you have to use th
我是一名优秀的程序员,十分优秀!