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