市面上有很多使用 U盘分发的程序,U盘看起来就是很小的几个 G的,程序在 U盘里面点击就可以运行,拷贝出来就不能运行,U盘格式化了再把程序拷贝回去就不能运行了(作废了)。请问有哪位大侠有知道怎么样才能做到这样呢?U盘有什么要求吗?
程序启动-->获取启动路径-->通过启动路径获取盘符-->获取硬盘序列号-->检查硬盘序列号与内置序列号是否一致?-->正常启动(不一致退出)
U盘格式化后,序列号就变了,所以也不能启动。
感觉是运行初始化时,获取程序路径,检测下所在盘是否为移动硬盘。
U盘格式化了再把程序拷贝回去就不能运行了(作废),说明某些标志改变了。
比如原本盘里存在某个特定文件,格式化后检测不到了,说明你篡改了,程序就不运行。
如果固执到别的U盘也不能运行,所以只判断是否为移动硬盘是不行的。
这个问题有意思,关注一下
用加密狗?
直接用加密狗不就行了, 或者你的程序认定那个U盘的硬件序号. 通过程序把U盘的序列ID读出来写到程序里面, 启动时检测
U盘肯定有个唯一的ID...
程序运行的时候,先找到U盘,然后读取一些指定的文件,跟程序匹配起来。
U盘只要能唯一ID就行。原理其实就是加密狗!