光盘数据的手动修改达到防拷贝的效果,也会有一定的加密作用。需要用的工具有你光盘的ISO格式文件与UltraEdit修改工具。修改之前先对数据的字节对应功能。
(光盘镜像文件中,存储数据的不同字节及对应功能列表)
字节 功能
01 目录长度
02 延伸属性
03-10 文件长度位置
11-18 文件大小
19-25 文件创建日期和时间
26 文件属性
27 文件单位大小
28 文件交错间隙大小
29-32 容量顺序编号
33 文件名长度
我们关键看11-18位,修改11-18位后文件大小会被改变并且可以达到防拷贝的效果。
我用工具nc.exe作演示,并且已经制作成了nc.iso格式的文件。
首先用UltraEdit打开nc.iso,然后查找,搜索"nc.exe",然后你修改的文件是什么名字就搜索什么文件。并且选择上"查找ASCII"

在右面对应窗口中查找到了NC.EXE

找到左面NC前面那个点对应的16进制写法。这个06就是第33位,文件名长度。最上面对照表中我们看到我们要修改的是11-18位,我们现在找到的是33位,所以往上数,一直数到18位。

我们找到11-18位对应的16进制(00 6E 00 00 00 00 6E 00)我们看到,这一串字符就是11-18位,文件的大小修改这些字符就可以改变文件大小。我们发现,这些字符是对称的,(00 6E 00 00 00 00 6E 00)也就是说你修改也要对称的修改。你把左面6E修改为00,对应的,右面的6E也需要修改为00,不然会出错的。这些修改完,还没有完成,还需要修改下一处,我们把窗口往下拉,只能往下拉,不可以使用搜索的。

右面找到nc.exe对应的宽文件名,刚刚搜索找到的那是窄文件名,宽文件名无法靠搜索找到的。我们发现文件名这边被添加了很多很多的点。找到N前面的第二个点,注意是第二个。

N左面那个点空一位,就是对应的33位。照样往上数,数到11-18为,修改16进制。需要注意的是,你在上面修改的文件大小,最好在下面也修改成为一致的。以防文件出错。

最后保存,你会发现ISO文件会变大或者变小了(取决于你修改的16进制文件)。把这个ISO文件刻录到光盘中,无法被复制出来。你复制的话会报错。这样达到了一定的防拷贝以及加密。最后提醒一下,你可以修改宽文件那边的11-18位而不去修改窄文件名那边的11-18位,但是为了规范以及防止出错的目的建议还是修改为一致的。还有一点就是文件大小建议不要修改的太大了,不然会导致程序无法运行等。另外修改文件前建议先做个备份