破解VI密码

NI的很多代码都是可以跟踪的,跟踪到最后,基本出现三种情况:CIN调用、DLL调用和密码锁定的VI,很多人都在寻找解码的方式,时至今日,未发现能有破解VI密码的办法,当然,如果容易破解,也就不能称之为密码了。
不过,VI的一个方法节点的确是给用户提供了强行破解的可能性:

当密码不对的时候,该方法节点会返回错误,如果有错误,循环继续进行,当无错误时,记录密码,并退出循环。
基本思路是构造一个字典(数组CHARS),包括所有的数字和字符,然后计算机自动一个个组合形成密码字符串,上面的图中是破解四个以下字符或者数字组成的密码。如果多于四个,增加INDEX NEXT CHAR VI就可以了。

字典包括了94个各类字符和数字,破解一个两位密码可以在1分钟内完成,不过随着密码位数增加破解时间也是成几何基数增加,不知道是否有这个耐心啊,另外,如果密码包括的是双字节,那字典本身就很庞大了,所以对简单的字符数字密码是可用的。

单循环框架

引自《LabVIEW虚拟仪器项目开发与管理》第八章

1) 经典状态机

image

2) 消息状态机

image

3) 栈状态机

image

4) 队列状态机

image

5) 扩展的队列状态机

image

待续…