Labview编写的子VI可以单独设置保护密码,从而保护程序
框图不被他人看见,这无疑是保护自己的一些劳动成果的好方法。可这项功能也是一把双刃剑,若你忘了密码,那就麻烦了。
本人编写的某些子VI设置了密码,这些都是自己费了老大劲编写出来的,现在想打开来查看程序框图时居然记不起密码来了,直冒汗呀!
在网上搜寻可以破解子VI的方法,收获甚微,但也看到了些许曙光。Labview提供了VI的方法节点(锁定),若密码正确Error簇的Status元素就为FALSE(即没错误),利用此方法还是可以找出密码来的。
于是自己编了个穷举法的VI来破解设置了密码的子VI,无奈自己以前设定的密码长度基本上超过10位,更要命的是忘记了密码到底有多少位,于是从10位长度开始查找,软件找了6、7个小时还未完成一半的查找工作(如果记得自己设置密码用到的所有字符会节省大量时间,以20个字符计算,查找长度10位的密码,穷举完所有组合得有20的10次方(约一万多亿次),时间惊人。软件找了7个多小时还无果,看不下去了。这种方法太费时了,更何况密码长度不一定是10位,有可能11~20位中的任何一个,想到这我要崩溃了。
于是自己换了个搜寻方法,采用随机组合的方式来查找密码,这种方法你只能祈祷了,有可能查询一辈子也得不到结果,也有可能人品大爆发,几秒钟就得到了密码。这种方法只能平时以娱乐的方式玩玩了。
感受:子VI密码不能设得太长了,要用自己常用的,另外最好记在某个本子上。当然了,要确保万无一失的话,就备份个没有设置密码的版本,这样自己以后想看的时候随时都能查看,不必去苦苦搜寻之前设置的密码。
下面附上自己编写的VI的程序框图:
注:用此VI来找出小于6位的密码还是有希望的,用来娱乐一下还是可以的。