用读写磁盘序列号的方法加密的程序理论上能解密吗?
我开发的程序用读写磁盘序列号,得到的数据作为我的程序的注册用序列号,根据一定的算法得出注册码?每次程序启动,首先再次读写磁盘,根据同样的算法和注册码进行对比,如果符合就为注册用户,请问这种方式理论上讲能破解吗?因为每个磁盘都只有唯一的序列号. 理论上当然可以破解。可以修改指针,不管注册码对不对都跳到对的那个代码去。 提供以下信息:1. 硬盘系列号在格式化硬盘之后一般会改变。
2. 序列号是写在磁盘的引导区的,不同的文件系统略有不同。可以通过直接读取磁盘的相关区域来修改。对于FAT分区,可以使用DOS中断Int 21h的440DH功能的46H子功能来设置序列号。这在VB中不容易实现,但在其它软件中可以实现。所以序列号作为加密的依据不是特可靠。但现在的确有很多软件都利用序列号来生成注册号,因为毕竟大多数人都无法修改序列号。
3. 磁盘的物理序列号也并不可靠。因为不是所有的硬盘都有物理序列号。 二楼、三楼的回答我同意!
首先,有加密就一定有解密的办法!所以不要想你的程序加密天下无敌!
第二,磁盘序列号虽然是唯一的!但每次格式化就发生变化!这样对程序应用造成一定的影响!
第三,对于用克隆的盘,恢复后磁盘序列号是一样的!那么!我的第二点中的唯一就变成是相对的唯一了!这种加密能有什么成效??
同意楼上的观点,用softice慢慢跟踪就可以破解
另外,改变硬盘序列号的软件到处都是
什么都是相对的,对于高手来说什么都有可能,但毕竟大多数用户水平很普通的啦!
如果用户新买了硬盘,是不是原来的序列号就无效了呢.
页:
[1]