保护自己的软件不被盗版、破解是所有软件厂商头疼的问题,在知识产权的问题已经从国家层面上被重视起来后,还是可以从很多渠道获取破解软件,包括windows在内。加密狗是常常听说的一种保护方式,我们也有心尝试一下,所以对加密狗做了一些了解。
加密狗多数使用USB接口连接,早期的加密狗只有存储功能,主要用于身份识别,后来发展到可以做简单的加减和位运算,现在的加密狗,已经可以做到浮点运算,相当于一台电脑。
加密狗内部提供一个目录结构,可以用来存放文件,密钥,程序,没错,可以放可执行文件,可执行文件在加密狗内部执行,但不能被读取。每级目录和文件都有唯一ID和开发商PIN,保证没有PIN的程序无法使用加密狗中的数据,不知道文件ID也无法使用这些文件。
加密狗一般都会使用如51类的芯片,厂商会提供给开发者一套开发环境,开发者通过开发环境开发自己的可执行程序,通过工具写入加密狗。如PC或工控机上的程序中的核心功能算法可以封装入可执行程序中,需要时调用加密狗中的程序,这样就算软件被破解或复制,没有加密狗,软件也不可能使用,或者将使用次数和使用时限的功能封装到可执行程序,只要可以编程,一切皆有可能。
当然,现在的加密狗功能很多,可以存储密钥做身份认证,可以用来给程序加壳,可以生成密钥对来加密文件或程序,根据项目可以选择更合适的方法。但根据我们的实际测试,国产的加密狗对Windows坚持的很好,但对linux坚持的都不是很好,有的没有Linux驱动,有的有驱动,但经常发生无法识别的问题,可能Linux上很少人会用到吧。
大家有什么好的方案保护服务器程序吗?