Thu*_*der 4 .net security decompiling
几乎所有.net程序集都可以使用Reflection进行解编译.这意味着所有.net产品都是开源的,因为代码可以很容易地被其他开发人员使用.没有办法让我们可以加密代码(至少对某些安全逻辑来说),这样就不会轻易破解或误用.
编辑
老问题winforms .net真的等于开源吗? 编辑时考虑了有关正确使用" 开源 "一词的评论
Mic*_*ray 10
有些工具可以加密.NET程序集,防止使用Reflector和类似工具进行反编译.他们还执行许多相关服务,如混淆,嵌入资源的保护等.我知道的两个:
RemoteSoft Salamander套件
XHEO DeployLX
所有代码都可以进行逆向工程,复制,克隆,重用,重新链接等.什么开源的意思是,这是法律意义上的自由,从限制,使人们可以了解从代码.这也意味着技术可以发展,可以创造更强大的长期技术经济,而不是短期主义.阅读"大教堂和市集"是有偏见但相关的观点.
我不知道一种足够强大的代码保护方法,它不仅仅是高度混淆,而且只是通过默默无闻的安全性.只有你的问题说,你需要知道更多关于你问的话题阅读和研究 的技术,合理的和可能的问题的意图的哲学气质.
编辑:我支持我的原则,即使使用"开源"一词被撤回.
没有办法让我们可以加密代码(至少对某些安全逻辑来说),这样就不会轻易破解或误用.
其他人已触及代码混淆器,但问问自己你真正想要实现的目标:
您是否想让您的代码更"安全"?通过默默无闻的安全性不仅是一种相对较弱的策略,您也不应该将敏感数据放入源代码中!将密码,连接字符串等移出代码并转移到配置文件中.
据推测,只要没有人可以访问您的物理机,应用程序就是安全的.你可以假设如果攻击者拥有物理机器,那么所有的希望都会消失.
您是否在尝试保护专有算法?如果您不想花钱获得专利,那么最好的尝试和真正的策略是通过您控制的服务器上的Web服务公开您的API.该应用程序调用Web服务 - 意味着性能下降,并且您依赖于具有Internet连接的用户,但至少您的代码绝对安全.
您是否试图阻止用户盗版软件?有关许可证密钥系统的SO上有很多帖子.
归档时间: |
|
查看次数: |
4858 次 |
最近记录: |