学习和使用c# 2年多以来,陆续的学习一些程序集和安全等的维护保护措施,但一直是自己些个小东西玩一玩,近日开发一套给雀巢使用的订单系统,并且考虑将其作为后续物流系列产品的可组装部件,因此,决定在本系统上,多考虑些安全和版权相关的技术手段,目前就再当前正在实施和已实施的技术手段简记如下:
1。部件(DLL)的模糊处理
2。强名称和数字签名
3。License认证
以下简单说明各项应用。
1。部件DLL的模糊处理:
这个不用多讲了,因为要形成积累和自己的产品系列,免不了就有很多部件是开发成克复用的DLL了,那使用和卖出去的时候,当然不能一点不处理阿,那还怎么卖东西呢,更何况是在copy最厉害的China。所以呢,各个DLL开发好后都进行了模糊处理,并且在相关DLL引用中添加了实际不必要的一些方法和操作。
预计效果:防止一些很菜鸟的用反编译工具直接反编译。
2。强名称和数字签名
每一个DLL都使用密钥签名和注册强名称。当然了,分发的时候密匙是不会给出去的。
预计效果:防止黑客或篡改爱好者通过修改程序内容改变特性或放置病毒等,也防止被部分DLL破解。一旦破解者想通过破解来消除一些东西则其必须反编译所有文件。
3。License 认证
系统分为注册版和试用版,登陆使用必须输入LicenseKey 。License功能特性基本如下:
For a simple license check component ,fit the following features:
预计效果:按照公司或组织授权License ,只有获得正确License的用户才可使用。
这3种方式当然也是要一起用材有效果的,比如如果License认证的DLL没有签名和模糊的,就相对更容易被破解了。
有同事认为这些加上去没必要,小公司,不成名的产品,有什么必要呢?
我却不完全赞同,小公司,不成名的产品,的确,但我们应该为成为大公司和明产品作积累和尝试。而且这些防护措施还有一点就是:客户用我们的产品,如果想升级或改动,最好是找我们,哈哈,这就是钱啊~~~~~
ok ,到这里先,中午了,吃饭先