关于“如何保证自己开发的软件只能在一台电脑上运行问题”的思考

解决方法一

       安装程序执行的时候自动获取电脑MAC地址+(自定义字符串),生成软件ID,加密之后保存在注册表或者ini文件中,软件启动的时候读取软件ID并进行解密,然后和获取电脑MAC地址+(自定义字符串)的内容比对,正确之后才可以打开程序,否则程序不执行。

       优点:可以保证将安装后的软件整个目录拷贝到另一台电脑上不能运行。

    缺点:电脑MAC地址可能会变更;电脑出现问题时候软件崩溃,安全性不是很高。

这个方式有更简单的方式(网上资料)

这个比较容易做到,就是把你的机器中任意写一个文件,然后你程序中检查这个文件是否存在,如果不存在,就直接退出,因为这个文件是你自己创建的,别人不可能知道,也就不会想到拷这个文件,因此就不能运行。

 

解决方式二


密码由序列号进过解密后得到的硬盘序列号+BIOS序列号,再加自定义内容经过DES加密生成。

验证:初始化系统时候读取安装时候指定的密码(保存在注册表或配置文件或者数据库中)并进行解密,分离得到硬盘序列号+BIOS序列号+自定义内容,然后和当前获取到的本机硬盘序列号+BIOS序列号,经过匹配正确后则保存自定义内容,程序继续执行,否则程序禁止执行。

优点:可以保证每台电脑上使用系统的自定义内容不一样。

缺点:对于初始化系统时候读取安装时候指定的密码这里,如果将密码保

存在注册表、文件或者数据库中,用户可以将其中数据替换为自己的数据这样软件通过相同的算法还是可以匹配本机硬盘序列号+BIOS序列号,程序可以继续执行,但是自定义内容不一样,对于需要用到自定义内容的功能使用不了。(采用这种方式的主要原因也是因为要保证每个系统部署后的自定义内容不一样,所以可以满足正常安全级别使用,况且用户修改密码的概率较低,一般用户很难知道系统初始化时候读取密码的过程)

 

补充:

磁盘序列号查看,可以使用相关读取工具。

BIOS编号查看:wmic bios get serialnumber


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦逼的IT男

你的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值